No MaybeT #6

Closed
adek05 opened this Issue Apr 26, 2013 · 7 comments

Comments

Projects
None yet
3 participants
@adek05

adek05 commented Apr 26, 2013

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

This comment has been minimized.

Show comment Hide comment
@ekmett

ekmett Apr 27, 2013

Member

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.

Member

ekmett commented Apr 27, 2013

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 Apr 27, 2013

@ghost ghost assigned ekmett Apr 27, 2013

@ekmett

This comment has been minimized.

Show comment Hide comment
@ekmett

ekmett Apr 28, 2013

Member

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

Member

ekmett commented Apr 28, 2013

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

@adek05

This comment has been minimized.

Show comment Hide comment
@adek05

adek05 Apr 28, 2013

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

adek05 commented Apr 28, 2013

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

@ekmett

This comment has been minimized.

Show comment Hide comment
@ekmett

ekmett Apr 28, 2013

Member

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.

Member

ekmett commented Apr 28, 2013

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

This comment has been minimized.

Show comment Hide comment
@ekmett

ekmett Apr 28, 2013

Member

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

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

etc.

Member

ekmett commented Apr 28, 2013

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

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

etc.

@sdroege

This comment has been minimized.

Show comment Hide comment
@sdroege

sdroege Dec 15, 2014

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 commented Dec 15, 2014

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

This comment has been minimized.

Show comment Hide comment
@sdroege

sdroege Dec 15, 2014

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

sdroege commented Dec 15, 2014

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