transformers-0.3.0.0: Concrete functor and monad transformers

Copyright(c) Andy Gill 2001, (c) Oregon Graduate Institute of Science and Technology, 2001
License(c) Andy Gill 2001, (c) Oregon Graduate Institute of Science and Technology, 2001
Maintainerross@soi.city.ac.uk
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred

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.