Table of contents
Haskell has now been my programming language of choice for 7 years. For many things, I had to struggle to understand the meat of them and went through the usual troubles (lost in monad tutorials and friends, seeing super-abstract code written mentionning all kinds of abstractions, etc). This page is just supposed to gather some links and explanations that I found to be helpful and/or interesting.
Two good books that are recommended to any Haskell beginner:
In addition, I also suggest taking an occasional look at the Haskell wikibook when the other two leave you clueless about something.
Key topics not covered enough in the books
There are many monad tutorials out there, yes. There’s one that I really recommend to any Haskeller who is still struggling to understand what they are, written by the great Dan Piponi: You Could Have Invented Monads! (And Maybe You Already Have.)
A small tip for getting a GHC Core output that’s actually readable is to build your file/project with:
$ ghc -O2 -ddump-simpl -dsuppress-idinfo -dsuppress-coercions -dsuppress-type-applications -dsuppress-uniques -dsuppress-module-prefixes Hello.hs
Like anything but photons in this world, Haskell does have an history. A very interesting one – you can see many of the ideas and features we know, love and use these days come into play (but not all of them). And guess what? Most of that story is available to anyone interested in a very-well written paper.
- A History of Haskell: Being Lazy With Class, Paul Hudak (Yale University), John Hughes (Chalmers University), Simon Peyton Jones (Microsoft Research), Philip Wadler (Edinburgh University), The Third ACM SIGPLAN History of Programming Languages Conference (HOPL-III) San Diego, California, June 9-10, 2007.