| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Control.Carrier.Cut.Church
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 :: Type -> Type) 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
newtype CutC (m :: Type -> Type) a Source #
Since: 1.0.0.0
Constructors
| CutC (forall b. (a -> m b -> m b) -> m b -> m b -> m b) |
Instances
| MonadTrans CutC Source # | |
Defined in Control.Carrier.Cut.Church | |
| Alternative (CutC m) Source # | |
| Applicative (CutC m) Source # | |
| Functor (CutC m) Source # | |
| Monad (CutC m) Source # | |
| MonadPlus (CutC m) Source # | |
| MonadFail m => MonadFail (CutC m) Source # | |
Defined in Control.Carrier.Cut.Church | |
| MonadFix m => MonadFix (CutC m) Source # | A single fixpoint is shared between all branches. |
Defined in Control.Carrier.Cut.Church | |
| MonadIO m => MonadIO (CutC m) Source # | |
Defined in Control.Carrier.Cut.Church | |
| Algebra sig m => Algebra (Cut :+: (NonDet :+: sig)) (CutC m) Source # | |
Cut effect
module Control.Effect.Cut
NonDet effects
module Control.Effect.NonDet