perm-0.2.0.0: permutation Applicative and Monad with many mtl instances

Portabilitynon-portable
Stabilityexperimental
MaintainerAndy Sonnenburg <andy22286@gmail.com>
Safe HaskellSafe-Inferred

Control.Monad.Perm

Description

 

Synopsis

Documentation

data PermT m a Source

The permutation monad

Instances

runPermT :: MonadPlus m => PermT m a -> m aSource

Unwrap a PermT, combining actions using the MonadPlus for f.

liftPerm :: m a -> PermT m aSource

A version of lift without the Monad m constraint

hoistPerm :: Monad n => (forall a. m a -> n a) -> PermT m b -> PermT n bSource

Lift a natural transformation from m to n into a natural transformation from PermT' c m to PermT' c n.