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.