[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
post.
* 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
References
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