<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 2, 2017 at 1:58 PM, Erik de Castro Lopo <span dir="ltr"><<a href="mailto:mle+hs@mega-nerd.com" target="_blank">mle+hs@mega-nerd.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">Edward Kmett wrote:<br>
<br>
> I sympathize. If you feel the need for those combinators, you can talk to<br>
> Ross to try to get him to add them to the library.<br>
<br>
</span>Where/how is transformers even maintained. The github mirror at:<br>
<br>
    <a href="https://github.com/ghc/packages-transformers" rel="noreferrer" target="_blank">https://github.com/ghc/<wbr>packages-transformers</a><br>
<br>
offers no clue.<span class="gmail-"><br></span></blockquote><div><br></div><div>It is maintained on darcs:<br><br><a href="http://hub.darcs.net/ross/transformers">http://hub.darcs.net/ross/transformers</a><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">
> (Well, secondEitherT is already fmap, of course.)<br>
<br>
</span>Yes, still a little embarrased about that :).<span class="gmail-"><br></span></blockquote><div><br></div><div>=)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">
> When the ExceptT API was crafted, it pretty much<br>
> tried to follow the API of the rest of transformers, and didn't really take<br>
> any of the extra combinators we had in the either package into account. =/<br>
<br>
</span>That was unfortunate.</blockquote><div><br></div><div>I made some noises to that effect at the time.  *shrug*</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">
> You might have a hard time getting the last one adopted, though, due to the<br>
> dependency on exceptions taking the API into "non-standard" territory.<br>
<br>
</span>What is the problem here, the `Exception` constraint, the `MonadCatch`<br>
constraint or both?<span class="gmail-"><br></span></blockquote><div><br>Both. Control.Exception needs a bunch of extensions to make sense taking it outside of Haskell 2010. transformers has as much as possible tried to stick to a standard language.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">
> Unfortunately, even if Ross adds them, I have no way to supply them in<br>
> transformers-compat when used with middle versions of transformers that<br>
> have ExceptT, but not those combinators, so the compatibility hack I offer<br>
> will suffer a bit.<br>
<br>
</span>Can't be done even with CPP?<br></blockquote><div><br>Unfortunately not. Once you get to a transformers version that exports that module, then the module then is supplied by transformers, not transformers-compat. <br><br>If you can get the extra combinators into transformers, I might be able to offer a C.M.T.E.Compat module that you could import along with C.M.T.E to get the new API across those intermediate versions, but I've yet to adopt this practice for the other transformers modules. If someone wanted to toss a patch at transformers-compat that added .Compat modules with the changes to the transformers API over time, (like adding reader, state, writer combinators), I'd probably take the patch, but I don't have a definitive list of what they are and the design would involve some compromises.</div><div><br></div><div>-Edward</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5"><br>
Erik<br>
--<br>
------------------------------<wbr>------------------------------<wbr>----------<br>
Erik de Castro Lopo<br>
<a href="http://www.mega-nerd.com/" rel="noreferrer" target="_blank">http://www.mega-nerd.com/</a><br>
______________________________<wbr>_________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org">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-<wbr>bin/mailman/listinfo/libraries</a><br>
</div></div></blockquote></div><br></div></div>