I plan to give a course in compiler construction, using Haskell as the implementation language (not as source or target language).
This might be of interest: http://www.cs.nott.ac.uk/~nhn/G52CMP/index.html
Something along these lines: 1. combinator parsers (Parsec), 2. simple interpreter (arithmetical expressions) 3. add algebraic data types, functions 4. type checker 5. code generator. Ideally, 2..5 would be using the very same tree traversal code and just change the monad for evaluation.
This has me worried slightly: do you intend to showcase monads, or do you intend to teach compiler construction? Just wondering, Claus _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell