transformers-0.5.6.2: Concrete functor and monad transformers
Copyright (c) Andy Gill 2001
(c) Oregon Graduate Institute of Science and Technology 2001
License BSD-style (see the file LICENSE)
Maintainer R.Paterson@city.ac.uk
Stability experimental
Portability portable
Safe Haskell Safe
Language Haskell98

Control.Monad.Trans.List

Description

Deprecated: This transformer is invalid on most monads

The ListT monad transformer, adding backtracking to a given monad, which must be commutative.

Synopsis

The ListT monad transformer

newtype ListT m 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 Source #
Instance details

Defined in Control.Monad.Trans.List

Methods

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

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

Defined in Control.Monad.Trans.List

Functor m => Functor ( ListT m) Source #
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) Source #
Instance details

Defined in Control.Monad.Trans.List

Methods

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

Monad m => MonadFail ( ListT m) Source #
Instance details

Defined in Control.Monad.Trans.List

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

Defined in Control.Monad.Trans.List

Foldable f => Foldable ( ListT f) Source #
Instance details

Defined in Control.Monad.Trans.List

Traversable f => Traversable ( ListT f) Source #
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) Source #
Instance details

Defined in Control.Monad.Trans.List

Eq1 m => Eq1 ( ListT m) Source #
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) Source #
Instance details

Defined in Control.Monad.Trans.List

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

Defined in Control.Monad.Trans.List

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

Defined in Control.Monad.Trans.List

MonadZip m => MonadZip ( ListT m) Source #
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) Source #
Instance details

Defined in Control.Monad.Trans.List

Applicative m => Alternative ( ListT m) Source #
Instance details

Defined in Control.Monad.Trans.List

Monad m => MonadPlus ( ListT m) Source #
Instance details

Defined in Control.Monad.Trans.List

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

Defined in Control.Monad.Trans.List

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

Defined in Control.Monad.Trans.List

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

Defined in Control.Monad.Trans.List

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

Defined in Control.Monad.Trans.List

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

Map between ListT computations.

Lifting other operations

liftCallCC :: CallCC m [a] [b] -> CallCC ( ListT m) a b Source #

Lift a callCC operation to the new monad.

liftCatch :: Catch e m [a] -> Catch e ( ListT m) a Source #

Lift a catchE operation to the new monad.