-
Notifications
You must be signed in to change notification settings - Fork 148
Open
Labels
Description
I tried searching for this in Hoogle and found no matches:
Monad m => (e -> ExceptT x m a) -> ExceptT x m (Either e a) -> ExceptT x m a
I then implemented it like this:
onLeft :: Monad m => (e -> ExceptT x m a) -> ExceptT x m (Either e a) -> ExceptT x m a
onLeft h f = f >>= either h pure
Inferring the type signature I get this:
onLeft :: Monad m => (a -> m b) -> m (Either a b) -> m b
onLeft h f = f >>= either h pure
The inferred type signature is one that actually yields results:
Monad m => (a -> m b) -> m (Either a b) -> m b
fromRightM :: Monad m => (a -> m b) -> m (Either a b) -> m b
fromEitherMM :: Monad m => (e -> m a) -> m (Either e a) -> m a
fromEitherOrMM :: Monad m => m (Either e a) -> (e -> m a) -> m a
If Hoogle can somehow infer the generic type signature from the specialised one and put that in the search results, that would help a lot.
Reactions are currently unavailable