On Sat, 2 Feb 2008, Antoine Latter wrote: > I'm not a fan of parameterizing the "Stream" class over the monad > parameter `m': <snip> > I looked through the sources and I didn't see anywhere where this > parameterization gained anything. As a proof of this I did a > mechanical re-write removing the class parameter, and the library > still seems to work. >
AngloHaskell attendees may remember the quickie I did on handling the layout rule via a parsing monad transformer - removing this would stop me from generating the input stream in a particular monad and break the trick behind it. The idea was to use a lexing monad which the parser would be stacked on top of, such that the parser could communicate with the lexer and delayout function. Then when the parser failed at a point where a closing brace would allow parsing to continue, it could backtrack in the stream, tell the lexer that it failed the first time and ask for the character again - and if the layout rule allows it at that point, the returned character would this time be a closing brace. -- [EMAIL PROTECTED] Performance anxiety leads to premature optimisation _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe