transformers-0.2.1.0: Concrete functor and monad transformersSource codeContentsIndex
Control.Monad.Trans.List
Portabilityportable
Stabilityexperimental
Maintainerlibraries@haskell.org
Contents
The ListT monad transformer
Lifting other operations
Description
The ListT monad transformer, adding backtracking to a given monad, which must be commutative.
Synopsis
newtype ListT m a = ListT {
runListT :: m [a]
}
mapListT :: (m [a] -> n [b]) -> ListT m a -> ListT n b
liftCallCC :: ((([a] -> m [b]) -> m [a]) -> m [a]) -> ((a -> ListT m b) -> ListT m a) -> ListT m a
liftCatch :: (m [a] -> (e -> m [a]) -> m [a]) -> ListT m a -> (e -> ListT m a) -> ListT m a
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
runListT :: m [a]
show/hide Instances
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.
Produced by Haddock version 2.4.2