
While I think that we should follow PHP's good example and call such a potential new module Control.Monad.Trans.Writer.Really_Strict, would there be actual drawbacks for changing Writer.Strict to Gabriel's suggestions? On Sun 27 Apr 2014 00:51:40 BST, Ross Paterson wrote:
On Sat, Apr 26, 2014 at 11:29:01PM +0300, Roman Cheplyaka wrote:
I don't understand the issue here. Why does it have to be abstract or based on StateT?
We could simply make a new module with the same WriterT type and the instance
instance (Monoid w, Monad m) => Monad (WriterT w m) where m >>= k = WriterT $ do (a, w) <- runWriterT m (b, w') <- runWriterT (k a) let w'' = w `mappend` w' w'' `seq` return (b, w'')
See Gabriel's analysis:
http://www.haskell.org/pipermail/libraries/2013-March/019528.html
The above is version #2 there. _______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries