You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some of those we already have, some under then same name (firstEitherT) and others under a different name (tryEitherT in X is basically handleEitherT).
I've been using transformers-either quite a bit and have not missed any of these. My advice would be if you think you need them, cargo-cult them into the projects where you need them and only when you have used them for a while (in a couple of different projects) add them to transformers-either.
Good to know you haven't really needed any of the extra pieces, I've been in other languages more recently. I pulled joinErrors :: (Functor m, Monad m) => (x -> z) -> (y -> z) -> EitherT x (EitherT y m) a -> EitherT z m a into mismi which was using it. Happy to leave it there and see if I do find another use for it.
I don't have any particularly string feelings, but I do thing its a good idea make sure anything we add is genuinely useful across more than one project.
https://github.com/ambiata/x/blob/306b5bb5e3e78fd13c8beba603ca3d43b4cbfec9/x-eithert/src/X/Control/Monad/Trans/Either.hs#L111-L278
The text was updated successfully, but these errors were encountered: