
Robin Green wrote:
If people want Haskell to be treated as a practical language, not just something for doing academic teaching and research with, it should be taught as a practical language - which means that things like IO and space/time usage come to the forefront.
Strange, I always thought predictable, understandable and above all correct code would be the primary goal, with small and quick code coming later. To write interactive Haskell code well, you have to understand higher order functions. So the IO monad has to come late in any tutorial. Before that, IO should be restricted to the EVA principle ("Eingabe, Verarbeitung, Ausgabe" == "Input, Processing, Output"). It was a good principle in the 60s, and it still is. Unless you want to teach people to program as they would do in Basic, that is. Udo. -- You can pick your friends and you can pick your nose, but you can't pick your friend's nose.