> > From: "C. McCann" <[email protected]> > > What sets an iteratee-style design apart from something conventional > based on a State monad is that the iteratee conceals its internal > state completely (in fact, there's no reason an iteratee even has to > be the "same" function step-to-step, or have a single consistent > "state" type--almost has an existential flavor, really), but is at > another function's mercy when it comes to actually doing anything. > > All of which doesn't really shed too much light on the denotation of > these things, I suppose, as there's barely anything there to talk > about; the iteratee automaton itself is a terribly simple construct, > relying on an underlying monad to perform actions, on an external > "push" data source to recurse, and being given only bite-size chunks > of data at each step. It's little more than foldl with a "pause" > button attached. >
This is how I think of them. I particularly your description of them as a foldl with a "pause" button. Maybe it would be helpful to consider iteratees along with delimited continuations? John
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
