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

Reply via email to