mtl-2.2.2: Monad classes, using functional dependencies
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
Language Haskell2010

Control.Monad.List

Description

The List monad.

Synopsis

Documentation

newtype ListT (m :: Type -> Type ) a Source #

Parameterizable list monad, with an inner monad.

Note: this does not yield a monad unless the argument monad is commutative.

Constructors

ListT

Fields

Instances

Instances details
MonadTrans ListT
Instance details

Defined in Control.Monad.Trans.List

Methods

lift :: Monad m => m a -> ListT m a Source #

MonadError e m => MonadError e ( ListT m) Source #
Instance details

Defined in Control.Monad.Error.Class

MonadReader r m => MonadReader r ( ListT m) Source #
Instance details

Defined in Control.Monad.Reader.Class

MonadState s m => MonadState s ( ListT m) Source #
Instance details

Defined in Control.Monad.State.Class

Monad m => Monad ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Functor m => Functor ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Methods

fmap :: (a -> b) -> ListT m a -> ListT m b Source #

(<$) :: a -> ListT m b -> ListT m a Source #

MonadFix m => MonadFix ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Methods

mfix :: (a -> ListT m a) -> ListT m a Source #

Monad m => MonadFail ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Applicative m => Applicative ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Foldable f => Foldable ( ListT f)
Instance details

Defined in Control.Monad.Trans.List

Traversable f => Traversable ( ListT f)
Instance details

Defined in Control.Monad.Trans.List

Methods

traverse :: Applicative f0 => (a -> f0 b) -> ListT f a -> f0 ( ListT f b) Source #

sequenceA :: Applicative f0 => ListT f (f0 a) -> f0 ( ListT f a) Source #

mapM :: Monad m => (a -> m b) -> ListT f a -> m ( ListT f b) Source #

sequence :: Monad m => ListT f (m a) -> m ( ListT f a) Source #

Contravariant m => Contravariant ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Eq1 m => Eq1 ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Methods

liftEq :: (a -> b -> Bool ) -> ListT m a -> ListT m b -> Bool Source #

Ord1 m => Ord1 ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Read1 m => Read1 ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Show1 m => Show1 ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

MonadZip m => MonadZip ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Methods

mzip :: ListT m a -> ListT m b -> ListT m (a, b) Source #

mzipWith :: (a -> b -> c) -> ListT m a -> ListT m b -> ListT m c Source #

munzip :: ListT m (a, b) -> ( ListT m a, ListT m b) Source #

MonadIO m => MonadIO ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Applicative m => Alternative ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

Monad m => MonadPlus ( ListT m)
Instance details

Defined in Control.Monad.Trans.List

MonadCont m => MonadCont ( ListT m) Source #
Instance details

Defined in Control.Monad.Cont.Class

Methods

callCC :: ((a -> ListT m b) -> ListT m a) -> ListT m a Source #

( Eq1 m, Eq a) => Eq ( ListT m a)
Instance details

Defined in Control.Monad.Trans.List

( Ord1 m, Ord a) => Ord ( ListT m a)
Instance details

Defined in Control.Monad.Trans.List

( Read1 m, Read a) => Read ( ListT m a)
Instance details

Defined in Control.Monad.Trans.List

( Show1 m, Show a) => Show ( ListT m a)
Instance details

Defined in Control.Monad.Trans.List

mapListT :: (m [a] -> n [b]) -> ListT m a -> ListT n b Source #

Map between ListT computations.