8 Jan
2009
8 Jan
'09
4:28 a.m.
On Wed, Jan 7, 2009 at 11:23 AM, Mauro J. Jaskelioff <mjj@cs.nott.ac.uk> wrote:
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