http://stackoverflow.com/questions/25280852/space-leak-in-pi...
It's often better to just include the writer part you need in a larder State type (lenses make this really seamless)/
http://stackoverflow.com/questions/25280852/space-leak-in-pi...
It's often better to just include the writer part you need in a larder State type (lenses make this really seamless)/
It seems to be a matter of laziness. If you're writing some small piece of state like an Int, this can be a real problem. If you're writing out a lazy data structure like a list (as happens in the article), I think the extra laziness should be fine or even desired. (I've never used Writer in practice, so take my comments with a grain of salt!)
[1]: http://comments.gmane.org/gmane.comp.lang.haskell.libraries/...
AFAIR the problem with WriterT was the use of mappend within is always lazy, regardless of the strictness of the w in WriterT w m a.