Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- runCut :: (a -> m b -> m b) -> m b -> m b -> CutC m a -> m b
- runCutA :: (Alternative f, Applicative m) => CutC m a -> m (f a)
- runCutM :: (Applicative m, Monoid b) => (a -> b) -> CutC m a -> m b
- newtype CutC m a = CutC (forall b. (a -> m b -> m b) -> m b -> m b -> m b)
- module Control.Effect.Cut
- module Control.Effect.NonDet
Cut carrier
runCutA :: (Alternative f, Applicative m) => CutC m a -> m (f a) Source #
Run a Cut
effect, returning all its results in an Alternative
collection.
Since: 1.0.0.0
Since: 1.0.0.0
CutC (forall b. (a -> m b -> m b) -> m b -> m b -> m b) |
Instances
MonadTrans CutC Source # | |
Defined in Control.Carrier.Cut.Church | |
Monad (CutC m) Source # | |
Functor (CutC m) Source # | |
MonadFix m => MonadFix (CutC m) Source # | A single fixpoint is shared between all branches. |
Defined in Control.Carrier.Cut.Church | |
MonadFail m => MonadFail (CutC m) Source # | |
Defined in Control.Carrier.Cut.Church | |
Applicative (CutC m) Source # | |
MonadIO m => MonadIO (CutC m) Source # | |
Defined in Control.Carrier.Cut.Church | |
Alternative (CutC m) Source # | |
MonadPlus (CutC m) Source # | |
(Algebra sig m, Effect sig) => Algebra (Cut :+: (NonDet :+: sig)) (CutC m) Source # | |
Cut effect
module Control.Effect.Cut
NonDet effects
module Control.Effect.NonDet