<div>Welcome to issue 215 of the HWN, a newsletter covering developments in</div><div>the Haskell community. This release covers the week of February 5 to</div><div>11, 2012.</div><div><br></div><div>You can find the HTML version of this issue at:</div>

<div><a href="http://contemplatecode.blogspot.com/2012/02/haskell-weekly-news-issue-215.html">http://contemplatecode.blogspot.com/2012/02/haskell-weekly-news-issue-215.html</a></div><div><br></div><div><br></div><div>Quotes of the Week</div>

<div><br></div><div>   * nand&#39;: haskell has a few advantages in the industry that few other</div><div>     languages can offer. these will become more obvious as time goes on</div><div>     and programming is forced into a functional direction in general.</div>

<div><br></div><div>   * seo: What i do not realize is actually how you are now not really</div><div>     much more well-liked than you might be right now. You are so</div><div>     intelligent. You realize thus significantly in terms of this</div>

<div>     subject, produced me in my view consider it from so many numerous</div><div>     angles. Its like men and women are not interested unless it‚s one</div><div>     thing to do with Woman gaga! Your personal stuffs excellent. Always</div>

<div>     care for it up!</div><div><br></div><div>   * monochrom: Schrodinger&#39;s Klein glass bottle: before you look, the</div><div>     cat is inside or outside; after you look, it is inside and outside</div><div>     :)</div>

<div><br></div><div>   * cmccann: Ruby is a fine language if you&#39;re secretly a lisp</div><div>     programmer but want to hide behing perl and smalltalk so nobody</div><div>     catches you</div><div><br></div><div>   * mlh: nice quote -- quick, someone register it for posterity</div>

<div><br></div><div>   * something: somebody never said, naturally.</div><div><br></div><div>   * irene-knapp: I was going to take a famous quote and put it in</div><div>     lambdabot as my own but I couldn&#39;t decide on one</div>

<div><br></div><div>   * shachaf: getLine :: IO String contains a String in the same way</div><div>     that /bin/ls contains a list of files</div><div><br></div><div>   * edwardk: [unsafePerformIO] sounds like a good idea, its tempting,</div>

<div>     it makes life easy, for the first 2 lines of code. then you go to</div><div>     write the third and everything goes to shit</div><div><br></div><div>   * cmccann: Idiom brackets are where you consume a mixture of alcohol</div>

<div>     and Conor McBride papers until your vision gets blurry enough that</div><div>     you can&#39;t actually see the Applicative operators anymore.</div><div><br></div><div>   * Philippa: incidentally, if you think about this you&#39;re probably</div>

<div>     starting to image control flow that looks like it&#39;s a glyph for</div><div>     summoning cthulhu - and then realising that it&#39;s 3d and consists of</div><div>     &#39;towers&#39;. Make sense?</div><div>
<br>
</div><div>   * c_wraith: also, &quot;actual&quot; reals is a funny thing to call a set that</div><div>     consists mostly of things that cannot be described.</div><div><br></div><div>   * NihilistDandy: I feel like a hipster whenever I talk programming</div>

<div>     with people at my school. I always have to preface discussions with</div><div>     &quot;you&#39;ve probably never heard of it&quot; :/</div><div><br></div><div>   * ion: Three lefts make two wrongs</div><div><br>

</div><div>   * elliott: Explicit recursion should generally be avoided. Also,</div><div>     general recursion should be explicitly avoided!</div><div><br></div><div>   * CodeWeaverX: I expect that Weird Untraceable Suitcases Full Of Bad</div>

<div>     could result from the program assuming such an operation is pure</div><div>     when it clearly isn&#39;t.</div><div><br></div><div>   * elliott: cmccann: the instances list haddock generates is now a</div><div>

              thing of majesty</div><div>     edwardk: elliott: welcome to my world</div><div><br></div><div>   * mzero: functional programming has a property that is often lacking</div><div>     in other languages... at dinner last night we were discussing it,</div>

<div>     and I dubbed it: &quot;The Princess Bride&quot; property --- which is, that a</div><div>     piece of code means what you think it means</div><div><br></div><div>   * sclv: You have a problem and think &quot;I&#39;ll use a hash function.&quot; Now</div>

<div>     you have intermittantly colliding problems.</div><div><br></div><div>   * monochrom: data Ph a = Ph -- the phantom monad</div><div>     ksion: Is that a new Star Wars prequel? ;)</div><div><br></div><div>   * user1151874: i already declare hp as int with value 3 now my</div>

<div>     problem is when i put &quot;hp--&quot;, it shows error [...] but if i put</div><div>     &quot;--hp&quot;, the result print is 3 not 2.</div><div><br></div><div>   * edwardk: thats my secret. really i don&#39;t write anything. i just let</div>

<div>     others do the work and upload it to hackage behind their backs</div><div><br></div><div>Top Reddit Stories</div><div><br></div><div>   * Haskell as most mainstream non-mainstream language? The RedMonk Programming</div>

<div>     Language Rankings: February 2012</div><div>     Domain: <a href="http://redmonk.com">redmonk.com</a>, Score: 45, Comments: 25</div><div>     On Reddit: [1] <a href="http://goo.gl/xWHB8">http://goo.gl/xWHB8</a></div>

<div>     Original: [2] <a href="http://goo.gl/REBXN">http://goo.gl/REBXN</a></div><div><br></div><div>   * The future is parallel, and the future of parallel is declarative </div><div>     (Simon Peyton Jones) [RE: Escape From the Ivory Tower]</div>

<div>     Domain: <a href="http://yow.eventer.com">yow.eventer.com</a>, Score: 41, Comments: 5</div><div>     On Reddit: [3] <a href="http://goo.gl/PJSlh">http://goo.gl/PJSlh</a></div><div>     Original: [4] <a href="http://goo.gl/zUKT5">http://goo.gl/zUKT5</a></div>

<div><br></div><div>   * How Prelude avoids overlapping instances in Show</div><div>     Domain: <a href="http://brandon.si">brandon.si</a>, Score: 32, Comments: 18</div><div>     On Reddit: [5] <a href="http://goo.gl/qGPZK">http://goo.gl/qGPZK</a></div>

<div>     Original: [6] <a href="http://goo.gl/rC6qr">http://goo.gl/rC6qr</a></div><div><br></div><div>   * InfoQ: Yesod Web Framework (Michael&#39;s QCon talk)</div><div>     Domain: <a href="http://infoq.com">infoq.com</a>, Score: 32, Comments: 12</div>

<div>     On Reddit: [7] <a href="http://goo.gl/93SFv">http://goo.gl/93SFv</a></div><div>     Original: [8] <a href="http://goo.gl/Xao7S">http://goo.gl/Xao7S</a></div><div><br></div><div>   * Search tree that does not require that items be sorted.</div>

<div>     Domain: <a href="http://twanvl.nl">twanvl.nl</a>, Score: 28, Comments: 3</div><div>     On Reddit: [9] <a href="http://goo.gl/R2yLD">http://goo.gl/R2yLD</a></div><div>     Original: [10] <a href="http://goo.gl/WGfcV">http://goo.gl/WGfcV</a></div>

<div><br></div><div>   * Reverse engineering the ZeroMQ wire protocol for ZMQHS</div><div>     Domain: <a href="http://xrl.tureus.com">xrl.tureus.com</a>, Score: 27, Comments: 0</div><div>     On Reddit: [11] <a href="http://goo.gl/UKIun">http://goo.gl/UKIun</a></div>

<div>     Original: [12] <a href="http://goo.gl/oVstA">http://goo.gl/oVstA</a></div><div><br></div><div>   * Announcing Yesod 0.10 - conduits, persistent 0.8, improved Coffeescript</div><div>     integration</div><div>     Domain: <a href="http://yesodweb.com">yesodweb.com</a>, Score: 25, Comments: 12</div>

<div>     On Reddit: [13] <a href="http://goo.gl/1RRJH">http://goo.gl/1RRJH</a></div><div>     Original: [14] <a href="http://goo.gl/KftN5">http://goo.gl/KftN5</a></div><div><br></div><div>   * Real World Haskell book site -- is it known to be down? If so how long has</div>

<div>     it been down and will it come back?</div><div>     Domain: <a href="http://book.realworldhaskell.org">book.realworldhaskell.org</a>, Score: 24, Comments: 15</div><div>     On Reddit: [15] <a href="http://goo.gl/GV6z2">http://goo.gl/GV6z2</a></div>

<div>     Original: [16] <a href="http://goo.gl/RCxnT">http://goo.gl/RCxnT</a></div><div><br></div><div>   * What do Haskellers think of Rust? It&#39;s got lambdas and ADTs with C-style</div><div>     notation.</div><div>

     Domain: <a href="http://rust-lang.org">rust-lang.org</a>, Score: 24, Comments: 40</div><div>     On Reddit: [17] <a href="http://goo.gl/a9bCB">http://goo.gl/a9bCB</a></div><div>     Original: [18] <a href="http://goo.gl/xAKHx">http://goo.gl/xAKHx</a></div>

<div><br></div><div>   * r/darcs - for discussing darcs and patch theory</div><div>     Domain: <a href="http://reddit.com">reddit.com</a>, Score: 24, Comments: 8</div><div>     On Reddit: [19] <a href="http://goo.gl/37ArD">http://goo.gl/37ArD</a></div>

<div>     Original: [20] <a href="http://goo.gl/qQiaD">http://goo.gl/qQiaD</a></div><div><br></div><div>   * Will Haskell be the Smalltalk of functional programming?</div><div>     Domain: self.haskell, Score: 22, Comments: 54</div>

<div>     On Reddit: [21] <a href="http://goo.gl/ZxmBN">http://goo.gl/ZxmBN</a></div><div>     Original: [22] <a href="http://goo.gl/ZxmBN">http://goo.gl/ZxmBN</a></div><div><br></div><div>Top StackOverflow Questions</div>

<div><br></div><div>   * Abusing the algebra of algebraic data types - why does this work?</div><div>     votes: 53, answers: 4</div><div>     Read on SO: [23] <a href="http://goo.gl/MyQRO">http://goo.gl/MyQRO</a></div><div>

<br></div><div>   * Recommended reading/tutorials to understand reactive-banana FRP library</div><div>     votes: 13, answers: 3</div><div>     Read on SO: [24] <a href="http://goo.gl/hTPv6">http://goo.gl/hTPv6</a></div>
<div>
<br></div><div>   * Safe modelling of relational data in Haskell</div><div>     votes: 12, answers: 2</div><div>     Read on SO: [25] <a href="http://goo.gl/4bEXX">http://goo.gl/4bEXX</a></div><div><br></div><div>   * What are the definitions for &gt;&gt;= and return for the IO monad?</div>

<div>     votes: 12, answers: 3</div><div>     Read on SO: [26] <a href="http://goo.gl/9jH2x">http://goo.gl/9jH2x</a></div><div><br></div><div>   * Basic Structure of a Haskell Program</div><div>     votes: 11, answers: 1</div>

<div>     Read on SO: [27] <a href="http://goo.gl/3OcKg">http://goo.gl/3OcKg</a></div><div><br></div><div>   * GHC API - How to dynamically load Haskell code from a compiled module using</div><div>     GHC 7.2?</div><div>

     votes: 11, answers: 2</div><div>     Read on SO: [28] <a href="http://goo.gl/aYKZz">http://goo.gl/aYKZz</a></div><div><br></div><div>   * Lifting a higher order function in Haskell</div><div>     votes: 9, answers: 1</div>

<div>     Read on SO: [29] <a href="http://goo.gl/JhmjK">http://goo.gl/JhmjK</a></div><div><br></div><div>   * How do you check the type of a local variable?</div><div>     votes: 8, answers: 5</div><div>     Read on SO: [30] <a href="http://goo.gl/Ynfgv">http://goo.gl/Ynfgv</a></div>

<div><br></div><div>   * Tail optimization guarantee - loop encoding in Haskell</div><div>     votes: 7, answers: 2</div><div>     Read on SO: [31] <a href="http://goo.gl/PKqfq">http://goo.gl/PKqfq</a></div><div><br></div>

<div>   * Writing in pointfree style f x = g x x</div><div>     votes: 7, answers: 1</div><div>     Read on SO: [32] <a href="http://goo.gl/EIFBw">http://goo.gl/EIFBw</a></div><div><br></div><div>Until next time,</div><div>

Daniel Santa Cruz</div><div><br></div><div>References</div><div><br></div><div>   1. <a href="http://redmonk.com/sogrady/2012/02/08/language-rankings-2-2012/">http://redmonk.com/sogrady/2012/02/08/language-rankings-2-2012/</a></div>

<div>   2. <a href="http://www.reddit.com/r/haskell/comments/ph4uq/haskell_as_most_mainstream_nonmainstream_language/">http://www.reddit.com/r/haskell/comments/ph4uq/haskell_as_most_mainstream_nonmainstream_language/</a></div>

<div>   3. <a href="http://yow.eventer.com/events/1004/talks/1055">http://yow.eventer.com/events/1004/talks/1055</a></div><div>   4. <a href="http://www.reddit.com/r/haskell/comments/phnd3/the_future_is_parallel_and_the_future_of_parallel/">http://www.reddit.com/r/haskell/comments/phnd3/the_future_is_parallel_and_the_future_of_parallel/</a></div>

<div>   5. <a href="http://brandon.si/code/how-the-haskell-prelude-avoids-overlapping-types-in-show/">http://brandon.si/code/how-the-haskell-prelude-avoids-overlapping-types-in-show/</a></div><div>   6. <a href="http://www.reddit.com/r/haskell/comments/pel34/how_prelude_avoids_overlapping_instances_in_show/">http://www.reddit.com/r/haskell/comments/pel34/how_prelude_avoids_overlapping_instances_in_show/</a></div>

<div>   7. <a href="http://www.infoq.com/presentations/Yesod">http://www.infoq.com/presentations/Yesod</a></div><div>   8. <a href="http://www.reddit.com/r/haskell/comments/pjqpr/infoq_yesod_web_framework_michaels_qcon_talk/">http://www.reddit.com/r/haskell/comments/pjqpr/infoq_yesod_web_framework_michaels_qcon_talk/</a></div>

<div>   9. <a href="http://twanvl.nl/blog/haskell/SemilatticeSearchTree">http://twanvl.nl/blog/haskell/SemilatticeSearchTree</a></div><div>  10. <a href="http://www.reddit.com/r/haskell/comments/pj6n7/search_tree_that_does_not_require_that_items_be/">http://www.reddit.com/r/haskell/comments/pj6n7/search_tree_that_does_not_require_that_items_be/</a></div>

<div>  11. <a href="http://xrl.tureus.com/black-box-reverse-engineering-zmq">http://xrl.tureus.com/black-box-reverse-engineering-zmq</a></div><div>  12. <a href="http://www.reddit.com/r/haskell/comments/pcojs/reverse_engineering_the_zeromq_wire_protocol_for/">http://www.reddit.com/r/haskell/comments/pcojs/reverse_engineering_the_zeromq_wire_protocol_for/</a></div>

<div>  13. <a href="http://www.yesodweb.com/blog/2012/02/release-0-10">http://www.yesodweb.com/blog/2012/02/release-0-10</a></div><div>  14. <a href="http://www.reddit.com/r/haskell/comments/phxjo/announcing_yesod_010_conduits_persistent_08/">http://www.reddit.com/r/haskell/comments/phxjo/announcing_yesod_010_conduits_persistent_08/</a></div>

<div>  15. <a href="http://book.realworldhaskell.org/read">http://book.realworldhaskell.org/read</a></div><div>  16. <a href="http://www.reddit.com/r/haskell/comments/pd79r/real_world_haskell_book_site_is_it_known_to_be/">http://www.reddit.com/r/haskell/comments/pd79r/real_world_haskell_book_site_is_it_known_to_be/</a></div>

<div>  17. <a href="http://www.rust-lang.org/">http://www.rust-lang.org/</a></div><div>  18. <a href="http://www.reddit.com/r/haskell/comments/pewtc/what_do_haskellers_think_of_rust_its_got_lambdas/">http://www.reddit.com/r/haskell/comments/pewtc/what_do_haskellers_think_of_rust_its_got_lambdas/</a></div>

<div>  19. <a href="http://reddit.com/r/darcs">http://reddit.com/r/darcs</a></div><div>  20. <a href="http://www.reddit.com/r/haskell/comments/pkv8g/rdarcs_for_discussing_darcs_and_patch_theory/">http://www.reddit.com/r/haskell/comments/pkv8g/rdarcs_for_discussing_darcs_and_patch_theory/</a></div>

<div>  21. <a href="http://www.reddit.com/r/haskell/comments/pczyz/will_haskell_be_the_smalltalk_of_functional/">http://www.reddit.com/r/haskell/comments/pczyz/will_haskell_be_the_smalltalk_of_functional/</a></div><div>  22. <a href="http://www.reddit.com/r/haskell/comments/pczyz/will_haskell_be_the_smalltalk_of_functional/">http://www.reddit.com/r/haskell/comments/pczyz/will_haskell_be_the_smalltalk_of_functional/</a></div>

<div>  23. <a href="http://stackoverflow.com/questions/9190352/abusing-the-algebra-of-algebraic-data-types-why-does-this-work">http://stackoverflow.com/questions/9190352/abusing-the-algebra-of-algebraic-data-types-why-does-this-work</a></div>

<div>  24. <a href="http://stackoverflow.com/questions/9210412/recommended-reading-tutorials-to-understand-reactive-banana-frp-library">http://stackoverflow.com/questions/9210412/recommended-reading-tutorials-to-understand-reactive-banana-frp-library</a></div>

<div>  25. <a href="http://stackoverflow.com/questions/9234205/safe-modelling-of-relational-data-in-haskell">http://stackoverflow.com/questions/9234205/safe-modelling-of-relational-data-in-haskell</a></div><div>  26. <a href="http://stackoverflow.com/questions/9244538/what-are-the-definitions-for-and-return-for-the-io-monad">http://stackoverflow.com/questions/9244538/what-are-the-definitions-for-and-return-for-the-io-monad</a></div>

<div>  27. <a href="http://stackoverflow.com/questions/9153574/basic-structure-of-a-haskell-program">http://stackoverflow.com/questions/9153574/basic-structure-of-a-haskell-program</a></div><div>  28. <a href="http://stackoverflow.com/questions/9198140/ghc-api-how-to-dynamically-load-haskell-code-from-a-compiled-module-using-ghc">http://stackoverflow.com/questions/9198140/ghc-api-how-to-dynamically-load-haskell-code-from-a-compiled-module-using-ghc</a></div>

<div>  29. <a href="http://stackoverflow.com/questions/9243215/lifting-a-higher-order-function-in-haskell">http://stackoverflow.com/questions/9243215/lifting-a-higher-order-function-in-haskell</a></div><div>  30. <a href="http://stackoverflow.com/questions/9210311/how-do-you-check-the-type-of-a-local-variable">http://stackoverflow.com/questions/9210311/how-do-you-check-the-type-of-a-local-variable</a></div>

<div>  31. <a href="http://stackoverflow.com/questions/9149183/tail-optimization-guarantee-loop-encoding-in-haskell">http://stackoverflow.com/questions/9149183/tail-optimization-guarantee-loop-encoding-in-haskell</a></div>

<div>  32. <a href="http://stackoverflow.com/questions/9169046/writing-in-pointfree-style-f-x-g-x-x">http://stackoverflow.com/questions/9169046/writing-in-pointfree-style-f-x-g-x-x</a></div><div><br></div>