Stephen Tetley <stephen.tet...@gmail.com> wrote: > On 5 July 2010 11:30, Ertugrul Soeylemez <e...@ertes.de> wrote: > > > That's what monad transformers are good for. Why reinvent the > > wheel? > > The post was chiming in with Felipe Lessa's comment upthread that > avoiding transfomers can have performance benefits. > > Whether the formulation I gave is particulary efficient is moot - I'd > have to give consideration to the strictness of the state at least - > but I was answering Yves Parès about "how" you would do it, rather > than "why".
Yes, there is some performance loss because of wrapping/unwrapping, but I think this loss is neglible for most applications. And I'd ask anyway. This is a discussion thread after all. =) > Given the status of MTL, I nowadays avoid transformers for pragmatic > reasons rather than performance ones. If I have substantial code I'll > rely on Iavor S. Diatchki's very nice MonadLib, but for small projects > I'll just roll an amalgamated monad. Almost all of my projects, including one published one, depend on monadLib. I find the MTL comparatively inconvenient. And especially for small projects I don't see why I should roll my own monad. I prefer to stick some transformers together. For larger applications my criterion is speed, but I've yet to see an application, where transformers are too slow. Greets, Ertugrul -- nightmare = unsafePerformIO (getWrongWife >>= sex) http://ertes.de/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe