[Haskell-cafe] Writing "Haskell For Dummies Or At Least For People Who Feel Like Dummies When They See The Word 'Monad'"

Ketil Malde Ketil.Malde at bccs.uib.no
Tue Dec 12 07:00:09 EST 2006

Paul Hudak wrote:
> Maybe some of you can do better, but it's really tough to show someone how an 
> /advanced/ Haskell programmer would solve /advanced /problems that arise in the 
> real world.  As a simple example, I love this recent quote by Garrett Morris:
>     "I'm personally fond of framing most non-trivial Haskell problems as
>      defining domain specific languages; as a result, everything over about
>     200 lines that I've written in the past 3 years has used the mtl [Monad
>     Transformer Library] in some form or fashion.  It's great."
> So how do we teach Garrett's way of programming (which I like very much) to the 
> masses? 
I don't know either, but I would really like to have that book.

I started out with Haskell using resources like SOE, Thomson's "Craft of",
and the "Gentle Introduction".  Apart from reading the "Structure and
Interpretation of Computer Programs", this was my first exposure to
functional programming.  Some things took a bit of effort to wrap my head
around, but it generally wasn't too hard to get to a level where I could 
useful programs.

Now there is a plethora of introductions, tutorials and guides, and I wonder
if we really need yet another 'for dummies' resource?

The challenge for me is to learn more advanced practices.  This is much 
to do - at least for me - for several reasons:

* there is less material describing the advanced stuff

* a lot of the existing material is in the form of research papers or 
  communications between the cognoscenti.  This (often) implies
   - it is hard to understand for us laymen
   - it isn't tied to practical problems

* I'm already productive with what I know, so I don't have the direct 

I generally manage to absorb just enough to get by, but I think there is 
a niche
for a book (coupled to practical problems and complete with excercises 
etc) that
is waiting to be filled.


More information about the Haskell-Cafe mailing list