<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>andthennothing.net: Haskell and functional languages</title>
    <link>http://www.andthennothing.net/archives/2006/05/21/haskell-and-functional-languages</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>&amp;ldquo;first there was a three-legged monkey...&amp;rdquo;</description>
    <item>
      <title>Haskell and functional languages</title>
      <description>&lt;p&gt;This Friday I attended the &lt;a href="http://expo-c.se/may19.html"&gt;Haskell for Mere Mortals + C#3 Innovations&lt;/a&gt; tutorial as part of the &lt;a href="http://expo-c.se"&gt;Expo-C&lt;/a&gt; conference. It was my first encounter with functional languages so I didn&amp;#8217;t know what to expect. It turned out that &lt;a href="http://research.microsoft.com/~emeijer/"&gt;Erik Meijer&lt;/a&gt; is really passionated about (functional) programming languages, which made him really entertaining and educational to listen to.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://haskell.org/"&gt;Haskell&lt;/a&gt; is a beautiful language. It&amp;#8217;s extremely minimalistic so I think it doesn&amp;#8217;t take that much time to learn the language, however to understand programs written in Haskell and write your own programs are mind twisting activities. I very much like the declarative aspects of the language&amp;#8212;that you describe what needs to be done, not how to do it. Another thing that seems to be pretty unique to Haskell is that everything is lazy evaluated, i.e. all operations are delayed until they are really necessary.&lt;/p&gt;


	&lt;p&gt;The &amp;#8220;C#3 Innovations&amp;#8221; part of the tutorial was interesting as well. &lt;a href="http://msdn.microsoft.com/data/ref/linq/"&gt;LINQ&lt;/a&gt; is an interesting project that adds declarative manipulation of arbitrary collections to the .NET languages. By doing so many of the functional programming concepts are introduced.&lt;/p&gt;


	&lt;p&gt;I think I will try to learn a functional language. Most of the languages I&amp;#8217;ve used to date are quite similar: Pascal, C++, Java, Python, Ruby. Functional languages require entirely different neural connections. I&amp;#8217;ve heard good things about &lt;a href="http://ocaml.org/ocaml/"&gt;OCaml&lt;/a&gt; so I think I&amp;#8217;ll try it out, but I&amp;#8217;m not sure just yet. I&amp;#8217;m looking for a language where I can learn functional programming and which can be of some practical use.&lt;/p&gt;</description>
      <pubDate>Sun, 21 May 2006 15:06:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:74e78f7a-c277-4e1f-b74a-f99d97c5f4d3</guid>
      <author>jonas.b@home.se (Jonas Bengtsson)</author>
      <link>http://www.andthennothing.net/archives/2006/05/21/haskell-and-functional-languages</link>
      <trackback:ping>http://www.andthennothing.net/articles/trackback/1186</trackback:ping>
    </item>
  </channel>
</rss>

