transformers-0.2.2.0: Concrete functor and monad transformers

Portabilityportable
Stabilityexperimental
Maintainerross@soi.city.ac.uk
Safe HaskellSafe-Infered

Control.Monad.Trans.List

Contents

Description

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

runListT :: m [a]
 

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

Map between ListT computations.

Lifting other operations

liftCallCC :: ((([a] -> m [b]) -> m [a]) -> m [a]) -> ((a -> ListT m b) -> ListT m a) -> ListT m aSource

Lift a callCC operation to the new monad.

liftCatch :: (m [a] -> (e -> m [a]) -> m [a]) -> ListT m a -> (e -> ListT m a) -> ListT m aSource

Lift a catchError operation to the new monad.