<?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>'pataprogramming &#187; haskell</title>
	<atom:link href="http://www.pataprogramming.com/tag/haskell/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pataprogramming.com</link>
	<description>Curiosities of Unconventional Computing</description>
	<lastBuildDate>Sun, 14 Mar 2010 03:43:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Natural Selection for Self-Optimizing Haskell Code</title>
		<link>http://www.pataprogramming.com/2010/03/natural-selection-for-self-optimizing-haskell-code/</link>
		<comments>http://www.pataprogramming.com/2010/03/natural-selection-for-self-optimizing-haskell-code/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 04:23:31 +0000</pubDate>
		<dc:creator>paul</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[haskell]]></category>
		<category><![CDATA[self-optimization]]></category>

		<guid isPermaLink="false">http://www.pataprogramming.com/?p=113</guid>
		<description><![CDATA[I&#8217;ve been playing around with Haskell, Clojure, Scala and Mercury recently, and even though Clojure seems to be winning my heart, I&#8217;ve found much to admire about each language.  Haskell and Mercury, in particular, are nicely brain-twisty.
The recent release of a new backend for GHC that can generate code for LLVM is quite exciting.  Even [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with Haskell, Clojure, Scala and Mercury recently, and even though Clojure seems to be winning my heart, I&#8217;ve found much to admire about each language.  Haskell and Mercury, in particular, are nicely brain-twisty.</p>
<p>The recent release of a <a href="http://donsbot.wordpress.com/2010/02/21/smoking-fast-haskell-code-using-ghcs-new-llvm-codegen/">new backend for GHC</a> that can generate code for <a href="http://llvm.org/">LLVM</a> is quite exciting.  Even more interesting is <a href="http://donsbot.wordpress.com/2010/03/01/evolving-faster-haskell-programs-now-with-llvm/">this blog post</a> by Don Stewart (co-author of <a href="http://www.realworldhaskell.org/"><em>Real World Haskell</em></a>) exploring genetic algorithms (via the <a href="http://www.coyotegulch.com/products/acovea/">Acovea</a> toolkit) to select sets of LLVM compiler optimizations.  The process isn&#8217;t fast (Acovea chews on the options for four hours), but the improvements for even these preliminary explorations are striking.  This approach is worth watching; there is a lot of performance waiting to be squeezed out of modern processors, and it&#8217;s even better if we can design approaches that allows automatic optimization for each platform. (Don suggests that he&#8217;s working on a wrapper library to allow you to simply issue a <code>main = evolve main'</code> and let it go.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pataprogramming.com/2010/03/natural-selection-for-self-optimizing-haskell-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

