[Haskell-cafe] Writing "Haskell For Dummies Or At Least For People
Who Feel Like Dummies When They See The Word 'Monad'"
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
* 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...
More information about the Haskell-Cafe