
7 Jan
2009
7 Jan
'09
3:28 p.m.
On Wed, Jan 7, 2009 at 11:23 AM, Mauro J. Jaskelioff
Hi, sorry for the late reply,
I also like Ross' idea of monads being synonyms for transformers at Id. It removes lots of repeated code.
There's a cost to that technique. Parsec3 introduced parsec as a monad transformer, and the parsec base monad is implemented as the transformer wrapped around the identity monad. There's a significant speed regression to doing so - I have a branch of Parsec3 which re-introduces a proper base monad and shares (some) code via typeclasses. This puts us back at Parsec2 numbers. I don't have any hard data on hand at the moment, it's been a while. -Antoine