<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><title>FP Complete» News/Blog</title><link href="https://www.fpcomplete.com/" /><updated>2013-03-19T18:00:00-00:00</updated><id>https://www.fpcomplete.com/</id><author>FP Complete</author><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/FpComplete" /><feedburner:info uri="fpcomplete" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by/2.0/" /><feedburner:emailServiceId>FpComplete</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry><id>https://www.fpcomplete.com/blog/2013/03/learning-through-koans</id><link href="http://feedproxy.google.com/~r/FpComplete/~3/TUr-_U_oCS0/learning-through-koans" /><updated>2013-03-19T18:00:00-00:00</updated><title>Learning Haskell Through Koans</title><content type="html">&lt;p&gt;This post contains fragments of active Haskell code, best viewed and executed at &lt;a href="https://www.fpcomplete.com/blog/2013/03/learning-through-koans"&gt;https://www.fpcomplete.com/blog/2013/03/learning-through-koans&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;In the few years since Ruby Koans first came out, the approach has been mimicked in a wide variety of programming languages. Work on &lt;a href="https://github.com/roman/HaskellKoans"&gt;Haskell Koans&lt;/a&gt; was started in January 2012 by Román González and Tatsuhiro Ujihisa.&lt;/p&gt;&lt;p&gt;The premise is simple: A &lt;i&gt;koan&lt;/i&gt; is a small snippet of almost-correct code, given for &amp;quot;meditation&amp;quot;. Each koan is a kind of puzzle, and is a great way for users to learn more about a language.&lt;/p&gt;&lt;p&gt;Here&amp;#39;s a simple example:&lt;/p&gt;&lt;pre&gt;&lt;code class="active haskell"&gt;import Test.HUnit
check p = do
  assert p
  putStrLn &amp;quot;OK&amp;quot;
--show
result = fixMe

main = check (2 + 2 == result)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Running this as-is gives a compile error, since &lt;code&gt;fixMe&lt;/code&gt; is undefined. But changing the code by replacing &lt;code&gt;fixMe&lt;/code&gt; with &lt;code&gt;4&lt;/code&gt; gives a reassuring &lt;code&gt;OK&lt;/code&gt;. You can edit the above code in place before executing it. Go try it!&lt;/p&gt;&lt;p&gt;A lot of programmers are &amp;quot;hands-on&amp;quot; learners, and would rather just try out a new tool and explore some possibilities, rather than starting with a thorough review of documentation or associated research papers. &lt;/p&gt;&lt;p&gt;Building koans on School of Haskell is easy. Here&amp;#39;s the markdown behind the above example:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;```active haskell
import Test.HUnit
check p = do
  assert p
  putStrLn &amp;quot;OK&amp;quot;
--show
result = fixMe

main = check (2 + 2 == result)
```&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The code before &lt;code&gt;--show&lt;/code&gt; is hidden, and has two parts:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;First we &lt;code&gt;import Test.HUnit&lt;/code&gt;, a Haskell unit-testing framework.&lt;/li&gt;&lt;li&gt;Next we define &lt;code&gt;check&lt;/code&gt;, a thin wrapper around HUnit&amp;#39;s &lt;code&gt;assert&lt;/code&gt; command.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;So in general, each koan can look like this:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;```active haskell
import Test.HUnit
check p = do
  assert p
  putStrLn &amp;quot;OK&amp;quot;
--show
YOUR KOAN HERE
```&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;That&amp;#39;s really all there is to it. Koans are a great fit with our Active Haskell, and we&amp;#39;d especially love to see how this approach can be used to introduce users to new libraries. Let us know what you think! &lt;/p&gt;&lt;p&gt;Want to discuss this? Check out our &lt;a href="http://forums.fpcomplete.com/post/Koans-6259430"&gt;forums&lt;/a&gt;!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=TUr-_U_oCS0:FyXnLwu56Rg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=TUr-_U_oCS0:FyXnLwu56Rg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?i=TUr-_U_oCS0:FyXnLwu56Rg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=TUr-_U_oCS0:FyXnLwu56Rg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=TUr-_U_oCS0:FyXnLwu56Rg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?i=TUr-_U_oCS0:FyXnLwu56Rg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/FpComplete/~4/TUr-_U_oCS0" height="1" width="1"/&gt;</content><feedburner:origLink>https://www.fpcomplete.com/blog/2013/03/learning-through-koans</feedburner:origLink></entry><entry><id>https://www.fpcomplete.com/blog/2013/03/SoH-Goes-Public</id><link href="http://feedproxy.google.com/~r/FpComplete/~3/40Lf2fYpJXg/SoH-Goes-Public" /><updated>2013-03-04T18:00:00-00:00</updated><title>School of Haskell Goes Public</title><content type="html">&lt;p&gt;This post contains fragments of active Haskell code, best viewed and executed at &lt;a href="https://www.fpcomplete.com/blog/2013/03/SoH-Goes-Public"&gt;https://www.fpcomplete.com/blog/2013/03/SoH-Goes-Public&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;The FP Complete School of Haskell has been officially released to public. The beta has already been available for some time, so no big surprise there. The response from thousands of beta testers has been very positive, often enthusiastic, so we feel very encouraged.&lt;/p&gt;&lt;h2&gt;Who Is It For?&lt;/h2&gt;&lt;p&gt;Our goal is to build a self-sustaining ecosystem supported by the community. A place where users can create, test, and publish their own Haskell content. A place where users can come to find -- and play with -- Haskell content that is of interest to them. We have seeded the system with some beginner courses to attract non-Haskellers. They should feel as welcome as professional Haskell programmers and the gurus.&lt;/p&gt;&lt;h2&gt;Learning Haskell&lt;/h2&gt;&lt;p&gt;We have not one but two courses for beginners. One is based on Brent Yorgey&amp;#39;s lecture series at the University of Pensylvania. The other is being written by me. Try both of them and decide which one suits your style of learning better. Neither course is complete at this moment -- new installments will keep arriving at semi-regular intervals. Chad Scherrer, who joined us recently, is in charge of moderating and curating the content.&lt;/p&gt;&lt;p&gt;What makes learning Haskell through our school so attractive is the interactive content. Students can immediately run program snippets embedded in tutorials. They can edit them in place, solve exercises, even use the scratchpad to write their own programs. There is absolutely no barrier to entry, no tedious installation of software. Everything the student needs is available through a standard web browser.&lt;/p&gt;&lt;p&gt;Just like this (click the arrow button and answer the question):&lt;/p&gt;&lt;pre&gt;&lt;code class="active haskell"&gt;main = do
    putStrLn &amp;quot;What&amp;#39;s your name?&amp;quot;
    name &amp;lt;- getLine
    putStrLn $ &amp;quot;Welcome, &amp;quot; ++ name ++ &amp;quot;, to the School of Haskell!&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;Creating Active Content&lt;/h2&gt;&lt;p&gt;Every user can create content on their own page. You get your page by creating a free account. You can put there your own articles, tutorials, or documentation and link them from your blogs, web sites, reddit, or just send links to your friends. We have an automated list of recently published content on the main page. If you created a real gem, submit it to editors at fpcomplete.com and we&amp;#39;ll consider it for our Pick of the Week or even give it a permanent spot on the school page. &lt;/p&gt;&lt;p&gt;You may also treat your page as an enhanced blog where Haskell code comes to life. &lt;/p&gt;&lt;p&gt;If you teach Haskell at a university, you might want to post the course materials so your students, and other members of the public, can learn and interact with them.&lt;/p&gt;&lt;p&gt;Teaching a beginners&amp;#39; class to your coworkers? You can let them access your materials and exercises through the School from their laptops without the need to pre-install any software.&lt;/p&gt;&lt;p&gt;You can learn more about how to use and create content by reading a few short tutorials in the &lt;b&gt;How to Use the School of Haskell&lt;/b&gt; group on the home page.&lt;/p&gt;&lt;h2&gt;Upcoming Attractions&lt;/h2&gt;&lt;p&gt;There are many more features we would like to add to the School of Haskell, including social aspects, better support for blogs, incremental program buildup, and so on. All these improvements are in the pipeline. However our main thrust is to create a professional online &lt;b&gt;Haskell development environment&lt;/b&gt;. A lot of the features you see in the School are there because we&amp;#39;ve been experimenting with various aspects of web development: editing and storing content, server side compilation, running programs in their sandboxes, and many more. Watch this space for more news.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=40Lf2fYpJXg:bwcA9jXIyTk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=40Lf2fYpJXg:bwcA9jXIyTk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?i=40Lf2fYpJXg:bwcA9jXIyTk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=40Lf2fYpJXg:bwcA9jXIyTk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=40Lf2fYpJXg:bwcA9jXIyTk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?i=40Lf2fYpJXg:bwcA9jXIyTk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/FpComplete/~4/40Lf2fYpJXg" height="1" width="1"/&gt;</content><feedburner:origLink>https://www.fpcomplete.com/blog/2013/03/SoH-Goes-Public</feedburner:origLink></entry><entry><id>https://www.fpcomplete.com/blog/2013/02/announcing-case-studies</id><link href="http://feedproxy.google.com/~r/FpComplete/~3/TzGInQ58o60/announcing-case-studies" /><updated>2013-02-17T17:28:53-00:00</updated><title>Case studies of commercial Haskell use</title><content type="html">&lt;p&gt;A question we hear a lot is: who&amp;#39;s already using Haskell commercially, and how is it going?&lt;/p&gt;&lt;p&gt;Fortunately, there are a lot of Haskell users happy to talk about their experiences. Several companies have been generous enough to spend their time with us, being interviewed about their experiences so we can share them with you.&lt;/p&gt;&lt;p&gt;Please enjoy our new &lt;a title="Case Studies" href="/technology/case-studies/"&gt;Case Studies collection&lt;/a&gt;, which we are launching with studies of three commercial Haskell users: Bump Technologies, Janrain, and Silk. Read about their own experiences putting Haskell to work.&lt;/p&gt;&lt;p&gt;We are already interviewing more commercial Haskell users in other industries, so this collection will continue to grow.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=TzGInQ58o60:TZuh2vcOBow:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=TzGInQ58o60:TZuh2vcOBow:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?i=TzGInQ58o60:TZuh2vcOBow:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=TzGInQ58o60:TZuh2vcOBow:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=TzGInQ58o60:TZuh2vcOBow:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?i=TzGInQ58o60:TZuh2vcOBow:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/FpComplete/~4/TzGInQ58o60" height="1" width="1"/&gt;</content><feedburner:origLink>https://www.fpcomplete.com/blog/2013/02/announcing-case-studies</feedburner:origLink></entry><entry><id>https://www.fpcomplete.com/blog/2013/01/school-of-haskell-goes-beta</id><link href="http://feedproxy.google.com/~r/FpComplete/~3/yLppJsTCsHk/school-of-haskell-goes-beta" /><updated>2013-01-31T20:54:43-00:00</updated><title>School of Haskell Goes Beta</title><content type="html">&lt;p&gt;We are happy to announce the beta of the FP Complete School of Haskell. Our goal is to remove the biggest obstacle to learning the language. &lt;/p&gt;&lt;p&gt;All you procrastinators promising yourselves to take up Haskell one day -- you have no excuses left! Go to our &lt;a href="https://beta.fpcomplete.com"&gt;beta signup page&lt;/a&gt; and get a chance to experience Haskell the way it was intended to be. You can also watch a video walk-through of the School of Haskell on that page.&lt;/p&gt;&lt;h2&gt;What is School of Haskell?&lt;/h2&gt;&lt;p&gt;School of Haskell is mainly about &lt;em&gt;learning Haskell&lt;/em&gt;. In this world of instant gratification, to ask a potential student to find a book (even if it&amp;#39;s an online book), install the compiler, fiddle with the editor, go through the edit/save/load/compile/fix-errors/eventually-run cycle is just too much to ask. This is the 21&lt;sup&gt;st&lt;/sup&gt; century! Granted, we are still far away from &lt;a href="http://en.wikipedia.org/wiki/The_Diamond_Age" target="_blank"&gt;The Diamond Age&lt;/a&gt;, and the School of Haskell is not &amp;quot;A Young Lady&amp;#39;s Illustrated Primer,&amp;quot; but we are getting there. &lt;/p&gt;&lt;p&gt;The first thing you notice when you browse through the School of Haskell is a number of tutorials, some of them bundled into courses. At this moment the list is very incomplete, but it&amp;#39;s enough to get you started. More content will be appearing on a regular basis. &lt;/p&gt;&lt;p&gt;When you open a tutorial, it looks pretty much like a programmer&amp;#39;s blog -- until you notice that some of the embedded code fragments are &lt;em&gt;alive&lt;/em&gt;. You can compile and run them with one press of a button. &lt;/p&gt;&lt;p&gt;Some of the snippets are interactive: you are prompted for input and the result is evaluated and displayed. Others create mini web sites with all the richness of HTML 5. &lt;/p&gt;&lt;p&gt;But the real fun begins when you discover that you can &lt;em&gt;edit&lt;/em&gt; these fragments in place. There are exercises at the end of each tutorial that you can solve right there on the spot. You can play with the snippets that generate web pages and watch the effects. You can&amp;#39;t get more immediate than that. &lt;/p&gt;&lt;h2&gt;Can I create my own content?&lt;/h2&gt;&lt;p&gt;Our initial goal was to just publish a few active tutorials, but it quickly became obvious that, if we wanted more content, we&amp;#39;d have to involve the community at large. But to make content creation attractive we had to provide tools. So we implemented an online markup editor and threw in a live preview window. One thing led to another and we ended up with a whole system that lets every user develop their own content and share it with the public. So now we have a little &lt;em&gt;publishing system&lt;/em&gt;, which should be very attractive to Haskell programmers. &lt;/p&gt;&lt;p&gt;How cool is it to be able to write a post with embedded runnable and editable Haskell programs? We have already seen very enthusiastic response from our alpha users who immediately started producing amazing content. Some of them decided to move their blogs to the new medium that the School of Haskell offers. &lt;/p&gt;&lt;p&gt;But you don&amp;#39;t have to be an experienced Haskell programmer to take advantage or our content creation system. It so happens that the content editor can be easily used as an interactive scratchpad where you can create, compile, and run small Haskell programs. Just surround your code with markdown fences, as in:
&lt;pre&gt;``` active haskell
main = putStrLn &amp;quot;Hello Monadic World!&amp;quot;&lt;/p&gt;&lt;p&gt; ```&lt;/pre&gt;
and try running it in the preview pane. We have a full blown Haskell IDE in the works, but this simple scratchpad functionality can liberate many a Haskell newcomer from the drudge of installing the compiler and libraries on their machines. &lt;/p&gt;&lt;p&gt;There is a fairly substantial set of libraries at your disposal when developing contents. They come from the &lt;a href="https://github.com/fpco/stackage" title="Stable Haskage" target="_blank"&gt;Stackage&lt;/a&gt; project. We provide complete &lt;a href="http://haddocks.fpcomplete.com/" title="FP Complete Haddocks" target="_blank"&gt;Haddock documentation&lt;/a&gt; and &lt;a href="https://haskell.fpcomplete.com/hoogle" title="FP Complete Hoogle search" target="_blank"&gt;Hoogle search&lt;/a&gt; for those libraries (we &lt;em&gt;are&lt;/em&gt; working on providing better UI for those!).&lt;/p&gt;&lt;h2&gt;How is it implemented?&lt;/h2&gt;&lt;p&gt;We wouldn&amp;#39;t have the right to call ourselves a Haskell company if we used anything other than Haskell to implement our software. So everything above the level of Linux and AWS is written in Haskell; and that extends to large parts of the web client written in &lt;a href="http://fay-lang.org/" title="Fay language" target="_blank"&gt;Fay&lt;/a&gt; -- a subset of Haskell that compiles down to JavaScript. And, frankly, I can&amp;#39;t imagine accomplishing so much in such a short time with such a small team if we didn&amp;#39;t use Haskell and Haskell libraries. &lt;/p&gt;&lt;p&gt;In particular Michael Snoyman&amp;#39;s Haskell web framework &lt;a href="http://www.yesodweb.com/" title="Yesod web framework" target="_blank"&gt;Yesod&lt;/a&gt; was perfect for building a highly interactive modern web site sitting on top of a database and AWS cloud services, smoothly interacting with git and the &lt;a href="http://www.haskell.org/ghc/" title="GHC compiler" target="_blank"&gt;GHC compiler&lt;/a&gt;. (It doesn&amp;#39;t hurt that Michael is our development lead.)&lt;/p&gt;&lt;p&gt;Naturally, we had to create some Yesod tutorials for the School of Haskell. But Yesod is used to implement web sites -- servers that serve HTML pages over HTTP. So how do we embed live Yesod code in a tutorial? First we have to send the code to our cloud, compile and run it. The resulting web server has to listen to a port, which we provide, and send HTTP responses out to the Internet. Since this server is to be accessed over the Internet, we have to generate a temporary URL for it. In the meanwhile, client code opens a little browser within a browser and displays it in an iFrame. It then sends a request to the above mentioned web server using the temporary URL, receives the page back, and displays it.&lt;/p&gt;&lt;h2&gt;Conclusions&lt;/h2&gt;&lt;p&gt;We believe that Haskell is the future of programming and that education is the first step on the path to its widespread industry adoption. To this end we have created a one-stop learning facility for both newcomers and seasoned Haskellers. We really hope that you will enjoy interacting with the School of Haskell and help it grow as a resource for the whole programming community. &lt;/p&gt;&lt;h2&gt;Acknowledgment&lt;/h2&gt;&lt;p&gt;None of this would have been possible without the Haskell community and the ecosystem of compilers, libraries, packages, and tools that have been developed over decades.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=yLppJsTCsHk:iJt18fHyIQs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=yLppJsTCsHk:iJt18fHyIQs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?i=yLppJsTCsHk:iJt18fHyIQs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=yLppJsTCsHk:iJt18fHyIQs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=yLppJsTCsHk:iJt18fHyIQs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?i=yLppJsTCsHk:iJt18fHyIQs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/FpComplete/~4/yLppJsTCsHk" height="1" width="1"/&gt;</content><feedburner:origLink>https://www.fpcomplete.com/blog/2013/01/school-of-haskell-goes-beta</feedburner:origLink></entry><entry><id>https://www.fpcomplete.com/blog/2013/01/joining-fp-complete</id><link href="http://feedproxy.google.com/~r/FpComplete/~3/-rZYjLuLxsw/joining-fp-complete" /><updated>2013-01-21T18:55:26-00:00</updated><title>Joining FP Complete</title><content type="html">&lt;p&gt;I&amp;#39;m delighted and proud to announce that I&amp;#39;m joining FP Complete temporarily to help launch a new and exciting technical project.&lt;/p&gt;&lt;p&gt;I&amp;#39;ve long been a cheerleader from the sidelines, but now -- seeing the full extent of CEO Aaron Contorer&amp;#39;s vision -- I&amp;#39;m a true believer. The time is right for Haskell to change the world of enterprise software development. FP Complete is going to make that happen, and I&amp;#39;m proud to be a part of it.
&lt;div&gt;I&amp;#39;ll be working on commercial features for FP Complete products. More to come, stay tuned!&lt;/div&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=-rZYjLuLxsw:Ez4_mbjWM1E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=-rZYjLuLxsw:Ez4_mbjWM1E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?i=-rZYjLuLxsw:Ez4_mbjWM1E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=-rZYjLuLxsw:Ez4_mbjWM1E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/FpComplete?a=-rZYjLuLxsw:Ez4_mbjWM1E:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/FpComplete?i=-rZYjLuLxsw:Ez4_mbjWM1E:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/FpComplete/~4/-rZYjLuLxsw" height="1" width="1"/&gt;</content><feedburner:origLink>https://www.fpcomplete.com/blog/2013/01/joining-fp-complete</feedburner:origLink></entry></feed>
