<?xml version="1.0" encoding="UTF-8" ?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc=" http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>briancarper.net (λ) (Tag: Real-World-Haskell)</title><link>http://briancarper.net/tag/103/real-world-haskell</link><description>Some guy's blog about programming and Linux and cows.</description><item><title>Real Confusing Haskell</title><link>http://briancarper.net/blog/real-confusing-haskell</link><guid>http://briancarper.net/blog/real-confusing-haskell</guid><pubDate>Thu, 02 Apr 2009 23:44:54 -0700</pubDate><description>&lt;p&gt;I can pinpoint the exact page in &lt;a href=&quot;http://book.realworldhaskell.org/&quot;&gt;Real World Haskell&lt;/a&gt; where I became lost.  I was reading along surprisingly well until page 156, upon introduction of &lt;code&gt;newtype&lt;/code&gt;.  &lt;/p&gt;

&lt;p&gt;At that my point my smug grin became a panicked grimace.  The next dozen pages were an insane downward spiral into the dark labyrinth of Haskell's type system.  I had just barely kept &lt;code&gt;data&lt;/code&gt; and &lt;code&gt;class&lt;/code&gt; and friends straight in my mind. &lt;code&gt;type&lt;/code&gt; I managed to ignore completely.  &lt;code&gt;newtype&lt;/code&gt; was the straw that broke the camel's back.&lt;/p&gt;

&lt;p&gt;As a general rule, Haskell syntax is incredibly impenetrable.  &lt;code&gt;=&amp;gt;&lt;/code&gt; vs. &lt;code&gt;-&amp;gt;&lt;/code&gt; vs. &lt;code&gt;&amp;lt;-&lt;/code&gt;?  I have yet to reach the chapter dealing with &lt;code&gt;&amp;gt;&amp;gt;=&lt;/code&gt;.  The index tells me I can look forward to such wonders as &lt;code&gt;&amp;gt;&amp;gt;?&lt;/code&gt; and &lt;code&gt;==&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;|&amp;gt;&lt;/code&gt;.  Who in their right mind thought up the operator named &lt;code&gt;.&amp;amp;.&lt;/code&gt;?  The language looks like Japanese emoticons run amuck.  If and when I reach the &lt;code&gt;\(^.^)/&lt;/code&gt; operator I'm calling it a day.&lt;/p&gt;

&lt;p&gt;Maybe Lisp has spoiled me, but the prospect of memorizing a list of punctuation is wearisome.  And the way you can switch between prefix and infix notation using parens and backticks makes my eyes cross.  Add in syntactic whitespace and I don't know what to tell you.&lt;/p&gt;

&lt;p&gt;I could still grow to like Haskell, but learning a new language for me always goes through a few distinct stages: &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Curiosity -&gt; Excitement -&gt; Reality Sets In -&gt; Frustration -&gt; Rage&lt;/em&gt; ...&lt;/p&gt;

&lt;p&gt;At &lt;em&gt;Rage&lt;/em&gt; I reach a fork in the road: I either proceed through &lt;em&gt;Acceptance&lt;/em&gt; into &lt;em&gt;Fumbling&lt;/em&gt; and finally to &lt;em&gt;Productivity&lt;/em&gt;, or I go straight from &lt;em&gt;Rage&lt;/em&gt; to &lt;em&gt;Undying Hatred&lt;/em&gt;.  Haskell could still go either way.&lt;/p&gt;</description></item></channel></rss>

