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

Patrick Mulder pemulder at yahoo.de
Mon Dec 11 12:00:23 EST 2006

(to Kirsten, Akhmechet, cc: Haskell-Cafe)
> I would divide the book into two parts. The first
> part would introduce
> Haskell via traditional small examples. Quick sort,
> towers of Hanoi,
> etc. The second part would have two or three large
> examples -
> something that people would relate to. I'd take a
> web application,
> tetris, and perhaps a chat server.

Tetris could be fun, because it would allow to present
your software/learning curve to people without
technology background, and maybe they would look into
programming then as well.

Your setup also reminds me on the book by Peter Seibel
on learning Lisp. He shows how to program a small
database to organise your CD collection (by writing a
sort of SQL replacement.)

> > I've often thought that reading code (if it's
> well-written code) is a
> > little like reading a poem, which of course is
> also a little like
> > listening to classical music. 

Indeed, poems are another form of abstract expression,
and certainly it would be interesting to think about
similarities with programming. Poems can be
interesting because of multiple associations in words,
e.g. an obvious meaning and hidden meaning. And this
involves some parallel processes. But to me, the idea
of parallel processes is more clearly to see in music.
Processes are rendered in the voices of instruments,
and every voice transmits or contributes to a certain
message. In a way, the voices of an orchestra can be
seen to describe a process (experience) or function. 
Another idea that comes to my mind is attributing
processes to protagonists in a drama.  (Another quote
how programming shares aspects of making music. From
the preface of Structure and Interpretation of
Computer Programs:  "A computer is like a violin. You
can imagine a novice trying first a phonograph and
then a violin. The latter, he says, sounds terrible.
That is the argument we have heard from our humanists
and most of our computer scientists. Computer programs
are good, they say, for particular purposes, but they
aren't flexible. Neither is a violin, or a typewriter,
until you learn how to use it." Marvin Minsky, ``Why
Programming Is a Good
Medium for Expressing Poorly-Understood and
Sloppily-Formulated Ideas'')

> I've been thinking a lot
> lately about how to
> > present computer science (and programming
> languages) to a popular
> > audience, too. 

Yes, this is an important topic. But there is also the
common misunderstanding that computers = Von Neumann
machines. I think the concept of computer is better to
see as sort of telescope or translator. Computers
allow to look at processes (and complexity) which
would otherwise not conceivable to our limited minds.
The idea of computers as telescopes is from Daniel
Dennett though.

I will think about these ideas, and let you know my


Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: http://mail.yahoo.de

More information about the Haskell-Cafe mailing list