| Copyright | (c) Andy Gill 2001, (c) Oregon Graduate Institute of Science and Technology, 2001 | 
|---|---|
| License | BSD-style (see the file LICENSE) | 
| Maintainer | libraries@haskell.org | 
| Stability | experimental | 
| Portability | portable | 
| Safe Haskell | Safe-Inferred | 
| Language | Haskell98 | 
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 | |
| MonadState s m => MonadState s (ListT m) | |
| MonadReader r m => MonadReader r (ListT m) | |
| MonadError e m => MonadError e (ListT m) | |
| Applicative m => Alternative (ListT m) | |
| Monad m => Monad (ListT m) | |
| Functor m => Functor (ListT m) | |
| Monad m => MonadPlus (ListT m) | |
| Applicative m => Applicative (ListT m) | |
| MonadIO m => MonadIO (ListT m) | |
| MonadCont m => MonadCont (ListT m) | 
module Control.Monad
module Control.Monad.Trans