ANNOUNCE: Draft TOC of Haskell in a Nutshell

Johannes Waldmann joe@isun.informatik.uni-leipzig.de
Tue, 9 Jan 2001 09:00:27 +0100 (MET)


> However, I would move IO further to the front.  
> For any "real life" programming, IO is essential...

I am currently teaching a Functional Programming lecture (notes in German: 
http://www.informatik.uni-leipzig.de/~joe/edu/ws00/praxis/skript/)
and I also used this approach: use the do-notation intuitively
(for text IO and graphics, using SOE book), 
and explain monads later (with parser combinators and interpreters).

This could be driven to the extreme: not only hide the word "monad",
but also "functional". The title would be "Imperative programming in Haskell"
(as  S. Peyton Jones says in Tackling the Awkward Squad: 
"Haskell is the world's finest imperative programming language").

The students would start writing do-notated programs in the IO monad,
starting with  putStrLn "Hello World";
and gradually the emphasis is shifted from sequencing (the "semicolon")
to "what can we do on the righthand side of  let x = ... ",
thus introducing functional programming.

Not sure if this is really a good idea, though...
-- 
-- Johannes Waldmann ---- http://www.informatik.uni-leipzig.de/~joe/ --
-- joe@informatik.uni-leipzig.de -- phone/fax (+49) 341 9732 204/252 --