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

Clifford Beshers clifford.beshers at linspire.com
Mon Dec 11 12:16:57 EST 2006


Kirsten Chevalier wrote:
>
> There's also excellent Haskell documentation available on the web
> already, but people like to buy books and they like to have an
> artifact that they can hold in their hands without getting laser
> printer toner all over themselves.

It also helps to collect and edit.  Wiki's collect a lot of info, but 
they are often poorly organized and hard to search.

I've always thought this book should be called ``Haskell for Hackers''.  
I've been collecting guidelines for some time.  Here are a few:

    * The introduction should have some compelling arguments and
      examples about why someone should bet their business on functional
      programming.  An important focus should be the rise of dual- and
      quad-core processors, emphasizing the potential for good libraries
      and compilers to leverage these effectively.
    * Each and every bit of syntax should be explained in plain language
      and these explanations should be typeset like theorems, numbered
      and offset from the rest of the text.  The explanations should
      only use words and concepts that are known to all imperative
      programmers, or terms that have already been carefully introduced
      and defined.
    * Each code fragment should be explained in plain language.  Quite
      often Haskell literature explains something in terms of Haskell,
      which is fine if you already know Haskell, but maddening if you don't.
    * IO must be introduced and used in the first chapter.  Experienced
      programmers are not willing to wait until page 327 for some hint
      about how to replace printf.  That doesn't mean that the first
      chapter will be all about monads, either,  just some basics of how
      to perform IO along with some examples.
    * Examples should generally be pulled from the imperative
      literature, not the functional. 
      http://haskell.org/haskellwiki/Simple_unix_tools is a good example.
    * Alternatives to lex/yacc, shell programming, perl regular
      expressions and awk/perl style text processing must be covered.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20061211/24331be3/attachment-0001.htm


More information about the Haskell-Cafe mailing list