perm-0.2.0.1: 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 monad homomorphism from m to n into a monad homomorphism from PermT m to PermT n.