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.Applicative.Perm

Description

 

Synopsis

Documentation

type Perm = PermTSource

The permutation applicative

runPerm :: Alternative m => Perm m a -> m aSource

Unwrap a Perm, combining actions using the Alternative 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.