Daniel Fischer <[EMAIL PROTECTED]> writes: >> Well, I guess you could get pretty far using 'interact' - far enough >> in an educational setting to do lists and Maybe, and then monads, >> before introducing monadic IO.
> Pretty far, yes, and in an educational setting, at a university, it is quite > common, I believe, to use an interpreter for a while, not producing > executables (that's how I met Haskell, write pure functions and type > expressions at the Hugs prompt). But what about a tutorial for programmers? > How would you do Well, yes, some things do get complicated, and I'm not suggesting that "interact" will suffice for real programs. I still agree with the faction that thinks monadic IO should be taught after non-IO monadics - which, especially for programmers, can be quite early in the curriculum. After all, lists and algebraic data types are central and simple concepts. I don't think you *need* to teach input-print sequential programs, though. This is functional programming after all, why not build a compiler instead? > I doubt you could keep many interested without telling them how to create > standalone programmes, including reading input from stdin and printing output > to stdout. Well, my first "real", standalone haskell program was reading my telephone log from stdin, matching against an internal database, and outputting calls with time and name to stdout. I used standard features like shell IO redirection in and 'tee' to integrate with the rest of the system. I then moved on to monadic IO, but wish I'd done monads in general first. YMMV. -k -- If I haven't seen further, it is by standing in the footprints of giants _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe