Portability | portable |
---|---|
Stability | experimental |
Maintainer | libraries@haskell.org |
Safe Haskell | Safe-Inferred |
Control.Monad.List
Description
The List monad.
- newtype ListT m a = ListT {
- runListT :: m [a]
- mapListT :: (m [a] -> n [b]) -> ListT m a -> ListT n b
- module Control.Monad
- module Control.Monad.Trans
Documentation
newtype ListT m a
Parameterizable list monad, with an inner monad.
Note: this does not yield a monad unless the argument monad is commutative.
Instances
MonadTrans ListT | |
(Monad (ListT m), MonadState s m) => MonadState s (ListT m) | |
(Monad (ListT m), MonadReader r m) => MonadReader r (ListT m) | |
(Monad (ListT m), MonadError e m) => MonadError e (ListT m) | |
Monad m => Monad (ListT m) | |
Functor m => Functor (ListT m) | |
(Monad (ListT m), Monad m) => MonadPlus (ListT m) | |
(Functor (ListT m), Applicative m) => Applicative (ListT m) | |
Foldable f => Foldable (ListT f) | |
(Functor (ListT f), Foldable (ListT f), Traversable f) => Traversable (ListT f) | |
(Applicative (ListT m), Applicative m) => Alternative (ListT m) | |
(Monad (ListT m), MonadIO m) => MonadIO (ListT m) | |
(Monad (ListT m), MonadCont m) => MonadCont (ListT m) |
module Control.Monad
module Control.Monad.Trans