<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
Kirsten Chevalier wrote:<br>
<blockquote
 cite="mid4683d9370612110623m54f86f81uf546f5ba55a56c31@mail.gmail.com"
 type="cite"><br>
There's also excellent Haskell documentation available on the web
  <br>
already, but people like to buy books and they like to have an
  <br>
artifact that they can hold in their hands without getting laser
  <br>
printer toner all over themselves.
  <br>
</blockquote>
<br>
It also helps to collect and edit.&nbsp; Wiki's collect a lot of info, but
they are often poorly organized and hard to search.<br>
<br>
I've always thought this book should be called ``Haskell for
Hackers''.&nbsp; I've been collecting guidelines for some time.&nbsp; Here are a
few:<br>
<br>
<ul>
  <li>The introduction should have some compelling arguments and
examples about why someone should bet their business on functional
programming.&nbsp; 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.<br>
  </li>
  <li>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.&nbsp; 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.</li>
  <li>Each code fragment should be explained in plain language.&nbsp; Quite
often Haskell literature explains something in terms of Haskell, which
is fine if you already know Haskell, but maddening if you don't.</li>
  <li>IO must be introduced and used in the first chapter.&nbsp; Experienced
programmers are not willing to wait until page 327 for some hint about
how to replace printf.&nbsp; That doesn't mean that the first chapter will
be all about monads, either,&nbsp; just some basics of how to perform IO
along with some examples.</li>
  <li>Examples should generally be pulled from the imperative
literature, not the functional.&nbsp;
<a class="moz-txt-link-freetext" href="http://haskell.org/haskellwiki/Simple_unix_tools">http://haskell.org/haskellwiki/Simple_unix_tools</a> is a good example.</li>
  <li>Alternatives to lex/yacc, shell programming, perl regular
expressions and awk/perl style text processing must be covered.</li>
</ul>
</body>
</html>