[Haskell-cafe] Haskell Weekly News: Issue 163 - Year End Issue

Daniel Santa Cruz dstcruz at gmail.com
Fri Dec 31 21:02:31 CET 2010

   Welcome to issue 163 of the HWN, a newsletter covering developments in
   the [1]Haskell community. This release of the newsletter contains some
   summary data for the year 2010. Thanks to everyone involved for making
   this such a wonderful community!

   Big cheers to Miran Lipovaa, who got multiple top Reddit stories this
   year for his work on Learn You a Haskell! Also kudos to Don Stewart,
   Norman Ramsey, camccann, sepp2k, and KennyTM for taking the time to
   answer so many questions in StackOverflow. The folks at #haskell never
   cease to amaze with their friendliness and their helpfulness as well.

   What did Reddit and StackOverflow think was hot this year?

Top Reddit Stories this Year

     * Galois releases the Haskell Lightweight Virtual Machine (HaLVM):
       From (galois.com), scored 103 with 26 comments. Read on [2]reddit
       or the [3]original post.

     * Try Haskell!: From (self.haskell), scored 105 with 29 comments.
       Read on [4]reddit or the [5]original post.

     * GHC 7.0.1 released!: From (haskell.org), scored 100 with 31
       comments. Read on [6]reddit or the [7]original post.

     * Learn You a Haskell: Zippers: From (learnyouahaskell.com), scored
       93 with 44 comments. Read on [8]reddit or the [9]original post.

     * The new LLVM backend to GHC is ready to merge in!: From
       (haskell.org), scored 89 with 27 comments. Read on [10]reddit or
       the [11]original post.

     * Haskell vs. Erlang for bittorent clients: laziness, dynamic typing
       ..: From (jlouisramblings.blogspot.com), scored 88 with 8 comments.
       Read on [12]reddit or the [13]original post.

     * There are more than 4000 people in the Haskell Reddit. Tell us what
       you're using Haskell for! Work and/or play? What would most help
       you get the job done?: From (self.haskell), scored 84 with 171
       comments. Read on [14]reddit or the [15]original post.

     * Smoking fast Haskell code using GHC's new LLVM codegen: From
       (donsbot.wordpress.com), scored 83 with 2 comments. Read on
       [16]reddit or the [17]original post.

     * Learn You a Haskell for Great Good! The Book!: From (amazon.com),
       scored 79 with 29 comments. Read on [18]reddit or the [19]original

     * LYAH: Intro to Monads: From (learnyouahaskell.com), scored 78 with
       49 comments. Read on [20]reddit or the [21]original post.

Top StackOverflow Answers this Year

     * [22]Large-scale design in Haskell? | votes: 1

       I talk a bit about this in Engineering Large Projects in Haskell
       and in the Design and Implementation of XMonad. Engineering in the
       large is about managing complexity. The primary code structuring
       mechanisms in Haskell for managing complexity are : The type system
       Use the type system to enforce abstractions, simplifying
       interactions. Enforce key ...

     * [23]Curious about the HashTable problem | votes: 1

       The problem was that the garbage collector is required to traverse
       mutable arrays of pointers ("boxed arrays") looking for pointers to
       data that might be ready to deallocate. Boxed, mutable arrays are
       the main mechanism for implementing a hashtable, so that particular
       structure showed up the GC traversal issue. This is common to many
       languages. The symptom ...

     * [24]Why are side-effects modeled as monads in Haskell? | votes: 1

       Suppose a function has side effects. If we take all the effects it
       produce as the input and output parameters, then the function is
       pure to the outside world. So for an impure function f' :: Int ->
       Int we add the RealWorld to the consideration f :: Int -> RealWorld
       -> (Int, RealWorld) -- input some states of the whole world, --
       modify the ...

     * [25]Haskell - I am too old for this Švotes: 1

       (f . g) x = f (g x) This is true. You concluded from that that (f .
       g) x y = f (g x y) must also be true, but that is not the case. In
       fact, the following is true: (f . g) x y = f (g x) y which is not
       the same. Why is this true? Well (f . g) x y is the same as ((f .
       g) x) y and since we know that (f . g) x = f (g x) we can reduce
       that to (f (g x)) ...

     * [26]Haskell: How is <*> pronounced? | votes: 1

       Sorry, I don't really know my math, so I'm curious how to pronounce
       the functions in the Applicative typeclass Knowing your math, or
       not, is largely irrelevant here, I think. As you're probably aware,
       Haskell borrows a few bits of terminology from various fields of
       abstract math, most notably Category Theory, from whence we get
       functors and monads. The ...

     * [27]Haskell Weird Kinds | votes: 1

       These are GHC-specific extensions of the Haskell kind system. The
       Haskell 98 report specifies only a simple kind system: ... type
       expressions are classified into different kinds, which take one of
       two possible forms: The symbol * represents the kind of all nullary
       type constructors. If k1 and k2 are kinds, then k1->k2 is the kind
       of types ...

     * [28]Is Haskell really a purely functional language considering
       unsafePerformIO? | votes: 1

       The Languages We Call Haskell unsafePerformIO is part of the
       Foreign Function Interface specification, not core Haskell 98
       specification. It can be used to do local side effects that don't
       escape some scope, in order to expose a purely functional
       interface. That is, we use it to hide effects when the type checker
       can't do it for us (unlike the ST monad, ...

     * [29]What language to learn after Haskell? | votes: 1

       I would like to broaden my knowledge of programming. (...) I
       thought I would pose the question here, along with several
       stipulations about the type of language I am looking for. Some are
       subjective, some are intended to ease the transition from Haskell.
       Strong type system. (...) It also makes informally reasoning about
       the correctness of my program ...

     * [30]Why is writing a compiler in a functional language
       easier? | votes: 1

       Often times a compiler works a lot with trees. The source code is
       parsed into a syntax tree. That tree might then be transformed into
       another tree with type annotations to perform type checking. Now
       you might convert that tree into a tree only containing core
       language elements (converting syntactic sugar-like notations into
       an unsugared form). Now you might ...

     * [31]GHC's RTS options for garbage collection | votes: 1

       Generally speaking, garbage collection is a space/time tradeoff.
       Give the GC more space, and it will take less time. There are
       (many) other factors in play, cache in particular, but the
       space/time tradeoff is the most important one. The tradeoff works
       like this: the program allocates memory until it reaches some limit
       (decided by the GC's automatic tuning ...

About the Haskell Weekly News

   At this point in time, the HWN has been a bit sporadic. I'm hoping that
   2011 will see a much more regular schedule for this channel. I'd like
   to thank everyone who pitched in and sent stories/comments/quotes. If
   you have any ideas of how to improve this letter, please don't hesitate
   to contact me at dstcruz at gmail.com. The source code that I use to
   cullate this newsletter will be made available shortly in github.

   Here is to wishing you a great 2011! Until next time,
   Daniel Santa Cruz


   1. http://haskell.org/
   2. http://www.reddit.com/r/haskell/comments/ee4ve/galois_releases_the_haskell_lightweight_virtual/
   3. http://www.galois.com/blog/2010/11/30/galois-releases-the-haskell-lightweight-virtual-machine-halvm/
   4. http://www.reddit.com/r/haskell/comments/b58rk/try_haskell/
   5. file://localhost/r/haskell/comments/b58rk/try_haskell/
   6. http://www.reddit.com/r/haskell/comments/e6o0y/ghc_701_released/
   7. http://haskell.org/ghc/download_ghc_7_0_1.html
   8. http://www.reddit.com/r/haskell/comments/e0qqz/learn_you_a_haskell_zippers/
   9. http://learnyouahaskell.com/zippers
  10. http://www.reddit.com/r/haskell/comments/b3tby/the_new_llvm_backend_to_ghc_is_ready_to_merge_in/
  11. http://www.haskell.org/pipermail/cvs-ghc/2010-February/052606.html
  12. http://www.reddit.com/r/haskell/comments/bwrhz/haskell_vs_erlang_for_bittorent_clients_laziness/
  13. http://jlouisramblings.blogspot.com/2010/04/haskell-vs-erlang-for-bittorent-clients.html
  14. http://www.reddit.com/r/haskell/comments/bhygx/there_are_more_than_4000_people_in_the_haskell/
  15. file://localhost/r/haskell/comments/bhygx/there_are_more_than_4000_people_in_the_haskell/
  16. http://www.reddit.com/r/haskell/comments/b4tel/smoking_fast_haskell_code_using_ghcs_new_llvm/
  17. http://donsbot.wordpress.com/2010/02/21/smoking-fast-haskell-code-using-ghcs-new-llvm-codegen/
  18. http://www.reddit.com/r/haskell/comments/dook4/learn_you_a_haskell_for_great_good_the_book/
  19. http://www.amazon.com/Learn-You-Haskell-Great-Good/dp/1593272839/
  20. http://www.reddit.com/r/haskell/comments/d51ao/lyah_intro_to_monads/
  21. http://learnyouahaskell.com/monads
  22. http://stackoverflow.com/questions/3077866/large-scale-design-in-haskell/3077912#3077912
  23. http://stackoverflow.com/questions/3058529/curious-about-the-hashtable-problem/3058559#3058559
  24. http://stackoverflow.com/questions/2488646/why-are-side-effects-modeled-as-monads-in-haskell/2488852#2488852
  25. http://stackoverflow.com/questions/3884121/haskell-i-am-too-old-for-this/3884182#3884182
  26. http://stackoverflow.com/questions/3242361/haskell-how-is-pronounced/3242853#3242853
  27. http://stackoverflow.com/questions/3034264/haskell-weird-kinds/3034295#3034295
  28. http://stackoverflow.com/questions/3124591/is-haskell-really-a-purely-functional-language-considering-unsafeperformio/3124722#3124722
  29. http://stackoverflow.com/questions/3770774/what-language-to-learn-after-haskell/3771477#3771477
  30. http://stackoverflow.com/questions/2906064/why-is-writing-a-compiler-in-a-functional-language-easier/2906181#2906181
  31. http://stackoverflow.com/questions/3171922/ghcs-rts-options-for-garbage-collection/3172704#3172704

More information about the Haskell-Cafe mailing list