Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

No MaybeT #6

Closed
adek05 opened this Issue · 7 comments

3 participants

@adek05

Why there is no MaybeT transformer in library? There is a implemenation of it here:
http://www.haskell.org/haskellwiki/New_monads/MaybeT
Why not to put it inside?

@ekmett
Owner

It is already in transformers and mtl depends on transformers.

There is no class required for MaybeT, however. It is described entirely by MonadPlus

Just import Control.Monad.Trans.Maybe.

@ekmett ekmett closed this
@ekmett ekmett was assigned
@ekmett
Owner

A case might be made that perhaps we should offer a Control.Monad.Maybe to re-export it here though.

@adek05

Actually the case is that it will not offer these lovely instances which avoid have usage of lifting common in transformers library.

@ekmett
Owner

If we're missing instances for lifting over MaybeT then I should definitely fix that. It just doesn't have/need a class of its own.

@ekmett
Owner

They are all here. e.g. there is already an

instance MonadState s m => MonadState s (MaybeT m)

etc.

@sdroege

They are in the MaybeT package, but the version in transformers does not have them. Compare:
https://hackage.haskell.org/package/MaybeT-0.1.2/docs/Control-Monad-Maybe.html
https://hackage.haskell.org/package/transformers-0.4.2.0/docs/Control-Monad-Trans-Maybe.html

For example the above mentioned
MonadState s m => MonadState s (MaybeT m)
is not there in the transformers version.

@sdroege

Ah nevermind. The instances are on MonadState (etc) in mtl.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.