[Haskell-cafe] Haskell Weekly News: Issue 171

Daniel Santa Cruz dstcruz at gmail.com
Thu Mar 3 03:48:27 CET 2011


   Welcome to issue 171 of the HWN, a newsletter covering developments
   in the [1]Haskell community. This release covers the week of
   February 20 - 26, 2011 .

Announcements

   Eric Kow [2]announced that the Darcs project is staring to organize the
   next hacking sprint, which will be "most likely in Paris in this
   spring. If you fancy a weekend of hacking Haskell on a really neat real
   world project, come join...!"

   Jose Pedro Magalhaes [3]informed us of the initial release of htime, a
   library to mimic the unix "time" utility.

   Iain Alexander [4]annouced the initial release of data-type,
   function-combine, and flexiwrap. "data-type contains a number of
   fundamental types and classes useful for type-level programming, such
   as type-level booleans, natural numbers, and lists."

   I'd like to once again recognize some of the members of the community
   that spend their time fielding questions from the new commers. If you
   haven't been in the #haskell irc channel, you are just missing out!
   There are also those who spend their time writting great answers to the
   many questions in haskell's StackOverflow tag. You are what make this
   community an inviting place for all the people interested in Haskell.
   Keep it up!

Quotes of the Week

     kmc: but rarely do beginners come to #haskell and say "i want to
   append two lists, but i don't understand all this Monoid business, i
   hear they're like taco salad"

     Eduard:_Munteanu [In response to "GHC can go jump out a window" and
   "GHC has already jumped out a window and flied and left you behind"]
   Yes, GHC even implements optimizations such as defenestration.

Top Reddit Stories

     * What kind of things are easy in Haskell and hard in Scala, and vice
       versa?: From (programmers.stackexchange.com), scored 47 with 34
       comments. Read on [5]reddit or the [6]original post.

     * Multiday Debugging GHC: From (blog.ezyang.com), scored 37 with 2
       comments. Read on [7]reddit or the [8]original post.

     * Making OpenCL Simple with Haskell [pdf]: From (developer.amd.com),
       scored 35 with 11 comments. Read on [9]reddit or the [10]original
       post.

     * GHC 7.0.2 RC 2 available. Please test!: From (haskell.org), scored
       33 with 5 comments. Read on [11]reddit or the [12]original post.

     * Minecraft data API for Haskell: HaskellNBT: From
       (blog.acfoltzer.net), scored 27 with 4 comments. Read on [13]reddit
       or the [14]original post.

     * Dependently Typed Programming: an Agda Introduction: From
       (youtube.com), scored 25 with 5 comments. Read on [15]reddit or the
       [16]original post.

     * Minecraft network protocol and proxy in Haskell: From (github.com),
       scored 25 with 1 comments. Read on [17]reddit or the [18]original
       post.

     * Threading State - a short tutorial for new Haskell programmers:
       From (mtnviewmark.wordpress.com), scored 22 with 3 comments. Read
       on [19]reddit or the [20]original post.

     * Solution (code) XCKD: Nerd Snipping: From
       (pgraycode.wordpress.com), scored 20 with 8 comments. Read on
       [21]reddit or the [22]original post.

     * Agda 2.2 released: From (permalink.gmane.org), scored 18 with 1
       comments. Read on [23]reddit or the [24]original post.

Top StackOverflow Answers

     * [25]Feed elements of a tuple to a function as arguments in Haskell?
       votes: 14

       Function uncurry converts a two-argument (curried) function
       into a function on pairs. Here's its type signature:

       uncurry :: (a -> b -> c) -> (a, b) -> c

       You need to use it on printf, like this:

       mapM_ (uncurry $ printf "Values: %d %d\n")
[(1,100),(2,350),(3,600),(4,200)]

       Another solution is to use pattern matching to deconstruct the
       tuple, ...

     * [26]What is the difference between different orderings of the same
       monad transformers? votes: 10

       Edit: I originally got the cases backwards.  Fixed now.

       The difference between orderings of monad transformer stacks
       really only matters when you're peeling off layers of the
       stack.

       type Procedure a = MaybeT (State ProcedureState) a

       In this case, you first run the MaybeT, which results in a
       stateful computation which returns a Maybe a.

       type Procedure a ...

Top StackOverflow Questions

     * Real-world applications of zygohistomorphic prepromorphisms (votes:
       54, answers: 2) [27]read

     * How to roll a fast BVH representation in Haskell (votes: 10,
       answers: 2) [28]read

     * curious about how âloop = loopâ is evaluated in Haskell (votes: 9,
       answers: 2) [29]read

     * What is the difference between different orderings of the same
       monad transformers? (votes: 8, answers: 3) [30]read

     * haskell function declaration (votes: 6, answers: 3) [31]read

About the Haskell Weekly News

   To help create new editions of this newsletter, please send stories to
   dstcruz at gmail.com. I'm in dire need of finding good "quotes of the
   week". If you happen to come across any, please don't hesitate to send
   it along.

   Until next time,
   Daniel Santa Cruz

References

   1. http://haskell.org/
   2. http://article.gmane.org/gmane.comp.lang.haskell.cafe/86711
   3. http://article.gmane.org/gmane.comp.lang.haskell.cafe/86731
   4. http://article.gmane.org/gmane.comp.lang.haskell.general/18526
   5. http://www.reddit.com/r/haskell/comments/ft6eh/what_kind_of_things_are_easy_in_haskell_and_hard/
   6. http://programmers.stackexchange.com/questions/51245/what-kind-of-things-are-easy-in-haskell-and-hard-in-scala-and-vice-versa
   7. http://www.reddit.com/r/haskell/comments/fsp4f/multiday_debugging_ghc/
   8. http://blog.ezyang.com/2011/02/multi-day-debugging/
   9. http://www.reddit.com/r/haskell/comments/fqmmu/making_opencl_simple_with_haskell_pdf/
  10. http://developer.amd.com/zones/OpenCLZone/publications/assets/MakingOpenCLSimplewithHaskell.pdf
  11. http://www.reddit.com/r/haskell/comments/fp5e8/ghc_702_rc_2_available_please_test/
  12. http://www.haskell.org/pipermail/glasgow-haskell-users/2011-February/020056.html
  13. http://www.reddit.com/r/haskell/comments/fs2nw/minecraft_data_api_for_haskell_haskellnbt/
  14. http://blog.acfoltzer.net/2010/12/minecraft-data-api-for-haskell-haskellnbt/
  15. http://www.reddit.com/r/haskell/comments/fr5c1/dependently_typed_programming_an_agda_introduction/
  16. http://www.youtube.com/view_play_list?p=44F162A8B8CB7C87
  17. http://www.reddit.com/r/haskell/comments/fsgaq/minecraft_network_protocol_and_proxy_in_haskell/
  18. https://github.com/glguy/minecraft-proxy
  19. http://www.reddit.com/r/haskell/comments/fq4k4/threading_state_a_short_tutorial_for_new_haskell/
  20. http://mtnviewmark.wordpress.com/2011/02/21/threading-state/
  21. http://www.reddit.com/r/haskell/comments/fr9v7/solution_code_xckd_nerd_snipping/
  22. http://pgraycode.wordpress.com/2011/02/23/solving-xkcds-nerd-snipping-problem/
  23. http://www.reddit.com/r/haskell/comments/fp45s/agda_22_released/
  24. http://permalink.gmane.org/gmane.comp.lang.agda/2566
  25. http://stackoverflow.com/questions/5117948/feed-elements-of-a-tuple-to-a-function-as-arguments-in-haskell/5118105#5118105
  26. http://stackoverflow.com/questions/5075621/what-is-the-difference-between-different-orderings-of-the-same-monad-transformers/5076096#5076096
  27. http://stackoverflow.com/questions/5057136/real-world-applications-of-zygohistomorphic-prepromorphisms
  28. http://stackoverflow.com/questions/5077243/how-to-roll-a-fast-bvh-representation-in-haskell
  29. http://stackoverflow.com/questions/5126759/curious-about-how-loop-loop-is-evaluated-in-haskell
  30. http://stackoverflow.com/questions/5075621/what-is-the-difference-between-different-orderings-of-the-same-monad-transformers
  31. http://stackoverflow.com/questions/5073058/haskell-function-declaration



More information about the Haskell-Cafe mailing list