<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tupil Code Blog &#187; haskell commercial happstack</title>
	<atom:link href="http://blog.tupil.com/tag/haskell-commercial-happstack/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tupil.com</link>
	<description>(Get up early, code often)</description>
	<lastBuildDate>Fri, 27 Aug 2010 10:50:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Building commercial Haskell applications</title>
		<link>http://blog.tupil.com/building-commercial-haskell-applications/</link>
		<comments>http://blog.tupil.com/building-commercial-haskell-applications/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 08:31:44 +0000</pubDate>
		<dc:creator>Chris Eidhof</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[haskell commercial happstack]]></category>

		<guid isPermaLink="false">http://blog.tupil.com/?p=77</guid>
		<description><![CDATA[About a month ago, one of our clients called. They needed to have a payment service, and they wanted it tomorrow. Or next week. Basically, they had two big requirements: it had to be done safe and soon. We were quite busy that week: one of us was on a holiday and the other had [...]]]></description>
			<content:encoded><![CDATA[<p>About a month ago, one of our clients called. They needed to have a payment service, and they wanted it tomorrow. Or next week. Basically, they had two big requirements: it had to be done safe and soon. We were quite busy that week: one of us was on a holiday and the other had to give a 2-hour guest-lecture at Utrecht University.</p>
<p>For us, this was an ideal excuse to do it in Haskell. This enabled us to build the system very fast while still making sure it was correct. We did a lot of the stuff (forms, database handling, displaying) using datatype-generic programming, which helped us to keep the the application-specific code to a minimum. This saved a lot of time, so we were done in little more than a week.  </p>
<p>Also, we were able to use a lot of packages on hackage, most notably: <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/happstack-server">happstack-server</a>, <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/download-curl">download-curl</a>, <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/formlets">formlets</a>, <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HDBC">HDBC</a> and <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hsemail">hsemail</a>. We had to write the integration with the payment system (the Dutch iDeal) ourselves, but this was quite easy thanks to the good API from <a href="http://mollie.nl/">Mollie</a> and the download-curl package.  Without the big community behind Haskell it wouldn&#8217;t have been possible, and one of our ways of saying &#8220;thank you&#8221; was by sponsoring and helping organize the <a href="http://www.haskell.org/haskellwiki/Hac5">5th Hackathon</a>.</p>
<p>It seems like a good time to shake up some things: during recession, people expect the same quality of software for less money, and by using the right tools it&#8217;s possible. We now have two commercial websites running on Haskell (and a couple of pet projects), and so far it has worked out very well. It saved us a lot of time and bugs, and we&#8217;re planning to do a lot more of Haskell apps.</p>
<p><strong>Bonus</strong>: </p>
<p><a href="http://martijn.van.steenbergen.nl">Martijn van Steenbergen</a> took a cool picture of us hacking away at the Hackathon. Post your caption in the comments: we&#8217;ll send 10 stickers to the one we like the most!</p>
<p><img src="http://martijn.van.steenbergen.nl/galleries/hac5-friday/DSC_1062.jpg" title="Chris and Eelco"></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tupil.com/building-commercial-haskell-applications/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

