Thomas Davie <[EMAIL PROTECTED]> writes: > The evil code and CPSness were actually intended to be completely > separate entities. I needed (and to a lesser extent now still need), > examples that are (a) very higher order, and (b) evil and hard to > understand the runtime behaviour of.
Generally code that produces and consumes lots of tuples, e.g., common implementations of splitAt, span, mapAccumL (these are list functions), the State monad (Control.Monad.State; you can strip out the "instance Monad" thing and package the code as ordinary functions). Also Phil Wadler's "Monads for Functional Programming" http://homepages.inf.ed.ac.uk/wadler/topics/monads.html#marktoberdorf contains a monadic parser. In section 5.11 "improving laziness" two different ways of coding and their respective laziness effects are shown. This can be further exemplified by debugger traces, methinks. _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell