<div dir="ltr">I'd hesitate to bring in MonadTrans or the rest of transformers into base, but MonadIO is fully non-controversial and fully Haskell 98. <div><br></div><div><div>Lifting up and dropping that <i>one</i> module into base is a fairly simple change.</div><div><br></div><div>SPJ made a suggestion of adopting some more of the Data.Functor.* modules into base a year or so back. We took him up on the idea of Identity, but punted on the remainder. It may make sense to put together a separate proposal for the integration of Data.Functor.{Sum, Product, Compose}.</div><div><br></div><div>I would only support either proposal if they brought the modules in unmolested, without bikeshedding.</div><div><br></div><div>This would leave the "transformers" in the transformers package.</div><div><br></div><div>There are reasons not to like the existing MonadTrans class and reasons as well not to change it. There is also no need for it in base, nothing in base is set up in a fashion that it'd even be possible to make use of it to generalize any existing signatures.</div><div><div><br></div></div><div><div><div>-Edward</div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 23, 2015 at 4:08 PM, David Feuer <span dir="ltr"><<a href="mailto:david.feuer@gmail.com" target="_blank">david.feuer@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Personally I'd think it sensible to push down Control.Monad.Trans.Class, Control.Monad.Trans.Reader, and Control.Monad.Trans.State.Strict into base. I don't know if any Writer or RWST variants are quite ready for that sort of treatment, and ListT obviously isn't.</p><div class="HOEnZb"><div class="h5">
<div class="gmail_quote">On Jul 23, 2015 3:55 PM, "Edward Kmett" <<a href="mailto:ekmett@gmail.com" target="_blank">ekmett@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Alternately we could lift MonadIO into base.<div><br></div><div>This could be used eventually to lift more computations into MonadIO. Then nobody incurs an extra dependency and we have a first step towards more generic IO operations.</div><div><br></div><div>-Edward</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 23, 2015 at 3:20 PM, Niklas Hambüchen <span dir="ltr"><<a href="mailto:mail@nh2.me" target="_blank">mail@nh2.me</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'd also like to mention that there's a camp of people who'd like to<br>
have a safe/pure version of TH that cannot do any IO - for changes like<br>
the proposed one we should check whether they'd make that more difficult.<br>
<span><br>
On 23/07/15 20:09, David Feuer wrote:<br>
> I'm very much in the "Damn the torpedoes; full speed ahead" camp most of<br>
> the time, but not here. Transformers is a tiny step up from base. Why<br>
> would you make it depend on template haskell rather than the other way<br>
> around?<br>
</span><div><div>_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</div></div></blockquote></div><br></div>
</blockquote></div>
</div></div></blockquote></div><br></div>