<div dir="ltr">Indeed. A proper "EitherT" was added, but due to bikeshedding turned into ExceptT in the process complicating the migration story a fair bit. To get a version of ExceptT for older transformers versions you can use transformers-compat, so there is at least some migration story. =/<div><div><br></div><div>The either package will have the EitherT component deprecated eventually, but should continue to exist for the combinators.</div><div><br></div><div>-Edward</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 1, 2017 at 9:16 PM, Index Int <span dir="ltr"><<a href="mailto:vlad.z.4096@gmail.com" target="_blank">vlad.z.4096@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Perhaps ExceptT is what you're looking for? Check out the<br>
'Control.Monad.Trans.Except' module in 'transformers'.<br>
<div class="HOEnZb"><div class="h5"><br>
On Mon, Jan 2, 2017 at 4:24 AM, Erik de Castro Lopo<br>
<<a href="mailto:mle%2Bhs@mega-nerd.com">mle+hs@mega-nerd.com</a>> wrote:<br>
> Vincent Hanquez wrote:<br>
><br>
>> On 2012-12-07 09:44, Roman Cheplyaka wrote:<br>
>> > I propose to add the sole module of the 'either' package[1],<br>
>> > Control.Monad.Trans.Either, to the transformers package.<br>
>> ><br>
>> > It provides EitherT, a very basic and fundamental data type. The<br>
>> > difference between EitherT and ErrorT is that the latter has an Error<br>
>> > constraint, which is used to imlement 'fail'.<br>
>> ><br>
>> > Note that 'either' depends on the 'semigroupoids' and 'semigroup'<br>
>> > packages to provide appropriate instances. The proposal is not to add<br>
>> > those instances to 'transformers' to avoid additional dependencies. The<br>
>> > instances can then be left in the 'either' package or moved to the<br>
>> > 'semigroupoids' and 'semigroup' packages respectively. ('semigroupoids'<br>
>> > already depends on 'transformers', while 'semigroups' does not).<br>
>> ><br>
>> > Compared to the 'either' package, Show, Read, Eq and Ord instances will<br>
>> > be dropped to keep the code Haskell2010 (those instances require<br>
>> > FlexibleInstances, FlexibleContexts, and UndecidableInstances).<br>
>> ><br>
>> > The patch is attached. [*]<br>
>> ><br>
>> > [*] against transformers-0.3.0.0, because the darcs version is not<br>
>> > buildable (Control/Monad/Signatures.hs is not in the repository).<br>
>> ><br>
>><br>
>> [Sorry to revive this 1 yr 1/2 thread, but I was looking at the reason<br>
>> why we don't have eitherT is a more canonical place like transformers,<br>
>> and ended up here ...]<br>
>><br>
>> Is there a reason why this thread ran out of steam ? It not totally<br>
>> obvious from the answers what was missing to move forward.<br>
>> It seems like there's general agreement that EitherT is a good addition,<br>
>> did this proposal got forgotten ? Is there a way to revive this proposal ?<br>
><br>
> So now its me reviving a 2 1/2 year old response to a 6 year old thread.<br>
><br>
> I came here exactly the same way as Vincent, wanting to a couple of new<br>
> combinators added to the either library, noticing that there was talk<br>
> of moving Control.Monad.Trans.Either to transformers or transformers-compat<br>
> and then it seemed to loose steam.<br>
><br>
> Any clues as to where we're at with this?<br>
><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>
______________________________<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>