[Haskell] Haskell Weekly News: Issue 174

Daniel Santa Cruz dstcruz at gmail.com
Thu Mar 24 04:04:00 CET 2011


   Welcome to issue 174 of the HWN, a newsletter covering developments in the
   [1]Haskell community. This release covers the week of March 13-19.

   You can find the HTML version at: http://bit.ly/hLu36R

Announcements

   JP Moresmau [2]announced a new release of EclipseFP with support for ghc 7!

   S. Doaitse Swierstra [3]announced the release of version 2.7.0 to the
   uu-parsinglib library to hackage.

   Vincent Gerard [4]informed us that he has taken over maintainership
of hsmagick,
   which is "a FFI bindings library to ImageMagick." He is pleased to
announce the
   0.5 release of the library.

   Malte Harder [5]announce the first release of the Craftwerk
graphics library for
   2d vector graphics.

   Corey O'Connor [6]annouced a new release of his VTY library.

   Brent Yorgey [7]announced the release of the special Poetry and
Fiction Edition
   of The Monad.Reader. Thanks for putting this together Brent!

   Gregory D. Weber [8]announced version 1.2.4 of his Sifflet and
sifflet-lib. "This
   is a compatibility release for HXT >= 9.1."

   Edward Kmett [9]remminded us that the Google Summer of Code is upon
us. Follow
   the link to see the sign up information.

Quotes of the Week

     * ddarius: *ddarius is more of a glass SUM_n (-1)^n full person.

     * monochrom: some kind of lazy evaluation is already known to
highschool kids.
       teachers tell you that in a*(b+c), "evaluate b+c first", right? well, I
       challenge you to take 0*(389238493+97283748) and find one
single student who
       faithfully evaluate 389238493+97283748 first.

     * hpc: in soviet russia, yoda speaks flawless english

     * lambdabot: trololololo

     * hpc: jokes are subject to an incompleteness theorem; if you can
prove they
       are funny, they were never good jokes to begin with

     * hpc: when all you have is Haskell, everything looks like a research paper

     * Edward Kmett:Clearly we need some sort of xbox live-like
achievement system
       for these. Achievement Unlocked: Stumped Oleg!

    Top Reddit Stories

     * Haskell.org has been accepted for the 2011 Google Summer of Code
       From (twitter.com), scored 48 with 1 comments.
       Read on [10]reddit.
       Read the [11]original post.

     * Haskell's Niche: Hard Problems
       From (cdsmith.wordpress.com), scored 47 with 17 comments.
       Read on [12]reddit.
       Read the [13]original post.

     * A little care and feeding can go a long way
       From (serpentine.com), scored 39 with 6 comments.
       Read on [14]reddit.
       Read the [15]original post.

     * The reception of monads circa 1995...
       From (self.haskell), scored 35 with 1 comments.
       Read on [16]reddit.

     * BlazeHtml: a blazingly fast HTML combinator library
       From (skillsmatter.com), scored 29 with 18 comments.
       Read on [17]reddit.
       Read the [18]original post.

     * Simon Peyton Jones: Managing parallelism: embrace diversity,
but control side
       effects
       From (skillsmatter.com), scored 28 with 12 comments.
       Read on [19]reddit.
       Read the [20]original post.

     * EZYang: Mutation is frequently not what people expect ; mutation is not
       modular, and mutation is complicated.
       From (blog.ezyang.com), scored 26 with 0 comments.
       Read on [21]reddit.
       Read the [22]original post.

     * Functor is to Lens as Applicative is to Biplate: Introducing Multiplate
       From (front.math.ucdavis.edu), scored 25 with 19 comments.
       Read on [23]reddit.
       Read the [24]original post.

     * Monad.Reader special poetry and fiction edition
       From (themonadreader.wordpress.com), scored 23 with 1 comments.
       Read on [25]reddit.
       Read the [26]original post.

     * Functional flocks : modelling and visualizing flocking behavior
in Haskell
       From (syntacticsalt.com), scored 22 with 0 comments.
       Read on [27]reddit.
       Read the [28]original post.

Top StackOverflow Answers

     * [29]Why does application of `sequence` on List of Lists lead to
computation
       of its Cartesian Product? votes: 12

       This works because using lists as monads in Haskell makes them
       model indeterminism. Consider:

       sequence [[1,2],[3,4]]

       By definition this is the same as:

       do x <- [1,2]
          y <- [3,4]
   	  return [x,y]

       Just read it as "First a choice between 1 and 2, then a choice
       between 3 and 4". The list monad will now accumulate all
       possible outcomes - hence the ...

     * [30]In GHCi, why does the kind of the function arrow `:kind (->)` include
       question marks `(->) :: ?? -&ht; ? -> *`? votes: 11

       The ? and ?? kinds refer to GHC extensions, specifically
       unboxed types.
       http://hackage.haskell.org/trac/ghc/wiki/IntermediateTypes has
       a diagram showing relationships between the extended kinds ?
       (all possible types), # (unboxed types), ?? (boxed or normal
       unboxed types â "least upper bound of # and *"), (#) (unboxed
       tuples, which can only be used in a ...

     * [31]How to use (->) instances of Monad and confusion about (->) votes: 11

       For a given type r, the function of type r -> a can be thought of
       as a computation delivering an a using an environment typed
       r. Given two functions r -> a and a -> (r -> b), it's easy to
       imagine that one can compose these when given an environment
       (again, of type r).

       But wait! That's exactly what monads are about!

       So we can create an instance ...

     * [32]How and why is ap defined as liftM2 id in Haskell votes: 10

       The type variable a from id can be instantiated at any type, and
       in this case that type is a -> b.

       So we are instantiating id at (a -> b) -> (a -> b). Now the type
       variable a1 from liftM2 is being instantiated at (a -> b), a2 is
       being instantiated at a, and r is being instantiated at b.

       Putting it all together, liftM2 is instantiated at ...

     * [33]What "reify" and "reification" means in the context of (functional?)
       programming? votes: 8

       So I read up on this, and it is pretty much what it means:
       taking an abstract concept and making it concrete. Or, there is
       a proxy that represents the abstract concept. For example, in
       Lisp, the concept of procedure abstraction and application is
       reified when you use lambdas.

       Reification by itself is a broad concept and not just
       applicable to functional ...

    Top StackOverflow Questions

     * [34]What "reify" and "reification" means in the context of (functional?)
       programming?
       votes: 17, answers: 6

     * [35]How to use (->) instances of Monad and confusion about (->)
       votes: 12, answers: 2

     * [36]In GHCi, why does the kind of the function arrow `:kind (->)` include
       question marks `(->) :: ?? -> ? -> *`?
       votes: 12, answers: 1

     * [37]Haskell-like type system in C
       votes: 11, answers: 2

     * [38]Write a Maximum Monoid using Maybe in Haskell
       votes: 9, answers: 1

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://jpmoresmau.blogspot.com/2011/03/eclipsefp-204-released-supports-ghc-7.html
   3. http://article.gmane.org/gmane.comp.lang.haskell.cafe/87205
   4. http://article.gmane.org/gmane.comp.lang.haskell.general/18564
   5. http://article.gmane.org/gmane.comp.lang.haskell.general/18568
   6. http://article.gmane.org/gmane.comp.lang.haskell.general/18574
   7. http://article.gmane.org/gmane.comp.lang.haskell.general/18572
   8. http://article.gmane.org/gmane.comp.lang.haskell.general/18584
   9. http://article.gmane.org/gmane.comp.lang.haskell.cafe/87399
  10. http://www.reddit.com/r/haskell/comments/g6nwe/haskellorg_has_been_accepted_for_the_2011_google/
  11. http://twitter.com/haskellorg/status/48838580029755392
  12. http://www.reddit.com/r/haskell/comments/g382d/haskells_niche_hard_problems/
  13. http://cdsmith.wordpress.com/2011/03/13/haskells-niche-hard-problems/
  14. http://www.reddit.com/r/haskell/comments/g6a01/a_little_care_and_feeding_can_go_a_long_way/
  15. http://www.serpentine.com/blog/2011/03/18/a-little-care-and-feeding-can-go-a-long-way/
  16. http://www.reddit.com/r/haskell/comments/g4f1m/the_reception_of_monads_circa_1995/
  17. http://www.reddit.com/r/haskell/comments/g7akc/blazehtml_a_blazingly_fast_html_combinator_library/
  18. http://skillsmatter.com/podcast/scala/blazehtml-a-blazingly-fast-html-combinator-library
  19. http://www.reddit.com/r/haskell/comments/g7ajj/simon_peyton_jones_managing_parallelism_embrace/
  20. http://skillsmatter.com/podcast/scala/talk-by-haskell-expert-simon-peyton-jones/js-1434
  21. http://www.reddit.com/r/haskell/comments/g3dsw/ezyang_mutation_is_frequently_not_what_people/
  22. http://blog.ezyang.com/2011/03/killer-mutants-attack-mutation-gone-wrong/
  23. http://www.reddit.com/r/haskell/comments/g56xw/functor_is_to_lens_as_applicative_is_to_biplate/
  24. http://front.math.ucdavis.edu/1103.2841
  25. http://www.reddit.com/r/haskell/comments/g4r6e/monadreader_special_poetry_and_fiction_edition/
  26. http://themonadreader.wordpress.com/2011/03/15/special-poetry-and-fiction-edition/
  27. http://www.reddit.com/r/haskell/comments/g2v75/functional_flocks_modelling_and_visualizing/
  28. http://syntacticsalt.com/2011/03/10/functional-flocks/
  29. http://stackoverflow.com/questions/5299295/why-does-application-of-sequence-on-list-of-lists-lead-to-computation-of-its-ca/5300006#5300006
  30. http://stackoverflow.com/questions/5359707/in-ghci-why-does-the-kind-of-the-function-arrow-kind-include-question-ma/5359748#5359748
  31. http://stackoverflow.com/questions/5310203/how-to-use-instances-of-monad-and-confusion-about/5310487#5310487
  32. http://stackoverflow.com/questions/5358868/how-and-why-is-ap-defined-as-liftm2-id-in-haskell/5359029#5359029
  33. http://stackoverflow.com/questions/5314884/what-reify-and-reification-means-in-the-context-of-functional-programming/5315433#5315433
  34. http://stackoverflow.com/questions/5314884/what-reify-and-reification-means-in-the-context-of-functional-programming
  35. http://stackoverflow.com/questions/5310203/how-to-use-instances-of-monad-and-confusion-about
  36. http://stackoverflow.com/questions/5359707/in-ghci-why-does-the-kind-of-the-function-arrow-kind-include-question-ma
  37. http://stackoverflow.com/questions/5290408/haskell-like-type-system-in-c
  38. http://stackoverflow.com/questions/5344164/write-a-maximum-monoid-using-maybe-in-haskell



More information about the Haskell mailing list