I use them fairly heavily, mostly so I can make packages that work with arbitrary transformer stacks.<div><br></div><div>I'd be willing to endure the pain of using #if MIN_VERSION_transformers(x,y,z) bracketing around the use of Strict.WriterT and Strict.RWST constructors so long as there were writerT/runWriterT and rwsT/runRWST analogues I could simply invoke.<br>
<br>-Edward<br><br><div class="gmail_quote">On Tue, Mar 19, 2013 at 11:07 AM, Gabriel Gonzalez <span dir="ltr"><<a href="mailto:gabriel439@gmail.com" target="_blank">gabriel439@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Presumably we'll also need<br>
<br>
writerT :: m (a, w) -> WriterT w m a<br>
</blockquote>
<br></div>
Yes, we would need that, too:<br>
<br>
writerT m = WriterT $ \w -> do<br>
(a, w') <- m<br>
let wt = mappend w w'<br>
wt `seq` return (a, wt)<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Is there any reason to keep Control.Monad.Trans.Writer.<u></u>Strict, or should this replace it?<br>
</blockquote>
<br></div>
If we replace the old one, it will break existing code that used the `WriterT` constructor. Same thing for the strict RWST constructor if we similarly modify that. However, I don't know exactly how many packages use those constructors. I will try to do a text search of Hackage this coming weekend to check and see if it is feasible to ask downstream packages that use `WriterT`/`RWST` constructors to set upper bounds on `transformers`.<div class="HOEnZb">
<div class="h5"><br>
<br>
<br>
______________________________<u></u>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/libraries" target="_blank">http://www.haskell.org/<u></u>mailman/listinfo/libraries</a><br>
</div></div></blockquote></div><br></div>