HORIZON HASKELLDocslts/ghc-10.0.x8c2f8e82026-10-19Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8c2f8e8 · 2026-10-19

Modulefused-effects-1.1.2.7Haskell2010

Control.Carrier.Cull.Church

A carrier for Cull and NonDet effects used in tandem (Cull :+: NonDet).

  • 1 type
  • 3 values

Cull carrier

4 declarations
valuerunCull :: (m b -> m b -> m b) -> (a -> m b) -> m b -> CullC m a -> m b
#

Run a Cull effect with continuations respectively interpreting <|>, pure, and empty. Branches outside of any cull block will not be pruned.

runCull fork leaf nil (pure a <|> empty) = leaf a `fork` nil
runCull fork leaf nil (cull (pure a <|> b)) = leaf a
newtypenewtype CullC (m :: Type -> Type) a
#

Constructors

Instances10MonadTrans, Monad, Functor, MonadFix, MonadFail, Applicative, …
  • MonadTrans CullCDefined in fused-effects-1.1.2.7 · Control.Carrier.Cull.Church
  • Monad (CullC m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Cull.Church
  • Functor (CullC m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Cull.Church
  • MonadFix m => MonadFix (CullC m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Cull.Church

    Separate fixpoints are computed for each branch.

  • MonadFail m => MonadFail (CullC m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Cull.Church
  • Applicative (CullC m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Cull.Church
  • Alternative (CullC m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Cull.Church
  • MonadPlus (CullC m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Cull.Church
  • MonadIO m => MonadIO (CullC m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Cull.Church
  • Algebra sig m => Algebra (Cull :+: (NonDet :+: sig)) (CullC m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Cull.Church

Cull effect

0 declarations

NonDet effects

0 declarations