HORIZON HASKELLDocslts/ghc-10.0.x8fef28d2026-11-02Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8fef28d · 2026-11-02

Package1.1.2.7Control

fused-effects

A fast, flexible, fused effect system.

Modules

  • Control.AlgebraThe Algebra class is the mechanism with which effects are interpreted. An instance of the Algebra class defines an interpretation of an e…
  • Control.Algebra.Handler
  • Control.Carrier.Accum.ChurchA high-performance, strict, church-encoded carrier for Accum. This carrier issues left-associated mappends, meaning that Monoids such as …
  • Control.Carrier.Accum.IORefA carrier for Accum effects.
  • Control.Carrier.Accum.StrictA carrier for Accum effects.
  • Control.Carrier.Choose.ChurchA carrier for Choose effects (nondeterminism without failure). Under the hood, it uses a Church-encoded binary tree to avoid the problems…
  • Control.Carrier.Cull.ChurchA carrier for Cull and NonDet effects used in tandem (Cull :+: NonDet).
  • Control.Carrier.Cut.ChurchA carrier for Cut and NonDet effects used in tandem (Cut :+: NonDet).
  • Control.Carrier.Empty.ChurchA church-encoded carrier for Empty.
  • Control.Carrier.Empty.MaybeA carrier for an Empty effect, indicating failure with a Nothing value. Users that need access to an error message should use the Fail ef…
  • Control.Carrier.Error.ChurchA church-encoded carrier for Error.
  • Control.Carrier.Error.EitherA carrier for an Error effect.
  • Control.Carrier.Fail.EitherA carrier for a Fail effect, returning the result as an Either String. Failed computations will return a Left containing the String value…
  • Control.Carrier.Fresh.ChurchA church-encoded carrier for a Fresh effect, providing access to a monotonically increasing stream of Int values.
  • Control.Carrier.Fresh.StrictA carrier for a Fresh effect, providing access to a monotonically increasing stream of Int values.
  • Control.Carrier.InterpretProvides an InterpretC carrier capable of interpreting an arbitrary effect using a passed-in higher order function to interpret that effe…
  • Control.Carrier.LiftA carrier for Lift allowing monadic actions to be lifted from an outer context into an inner one with sendM, and for an inner context to …
  • Control.Carrier.NonDet.ChurchProvides NonDetC, a carrier for NonDet effects providing choice and failure. Under the hood, it uses a Church-encoded structure and a bin…
  • Control.Carrier.ReaderA carrier for Reader effects.
  • Control.Carrier.State.ChurchA church-encoded carrier for the State effect. Note that the parameter order in runState, evalState, and execState is reversed compared t…
  • Control.Carrier.State.IORefA carrier for the State effect. It uses an IORef internally to handle its state, and thus admits a MonadUnliftIO instance. Because the st…
  • Control.Carrier.State.LazyA carrier for the State effect that refrains from evaluating its state until necessary. This is less efficient than Control.Carrier.State…
  • Control.Carrier.State.StrictA carrier for the State effect. It evaluates its inner state strictly, which is the correct choice for the majority of use cases. Note th…
  • Control.Carrier.Throw.EitherA carrier for a Throw effect.
  • Control.Carrier.Trace.IgnoringA carrier for the Trace effect that ignores all traced results. Useful when you wish to disable tracing without removing all trace statem…
  • Control.Carrier.Trace.PrintingA carrier for the Trace effect that prints all traced results to stderr.
  • Control.Carrier.Trace.ReturningA carrier for the Trace effect that aggregates and returns all traced values.
  • Control.Carrier.Writer.ChurchA high-performance, strict, church-encoded carrier for Writer. This carrier issues left-associated mappends, meaning that Monoids such as…
  • Control.Carrier.Writer.StrictA carrier for Writer effects. This carrier performs its append operations strictly and thus avoids the space leaks inherent in lazy write…
  • Control.Effect.AccumAn effect allowing writes to an accumulated quantity alongside a computed value,
  • Control.Effect.CatchAn effect modelling catchable failure when used with Throw. Predefined carriers: Control.Carrier.Error.Either (with Throw)
  • Control.Effect.ChooseAn effect modelling nondeterminism without failure (one or more successful results). The NonDet effect is the composition of Choose and E…
  • Control.Effect.CullProvides an effect to cull choices in a given nondeterministic context. This effect is used in concert with NonDet. Computations run insi…
  • Control.Effect.CutProvides an effect to delimit backtracking in a given nondeterministic context. This effect is used in concert with NonDet. Computations …
  • Control.Effect.EmptyAn effect modelling nondeterminism without choice (success or failure). This can be seen as similar to Fail, but without an error message…
  • Control.Effect.ErrorAn effect modelling catchable failure with a polymorphic error type, the combination of Throw and Catch. This effect is similar to the tr…
  • Control.Effect.FailAn effect providing failure with an error message. This effect is invoked through the fail method from MonadFail. Predefined carriers: Co…
  • Control.Effect.FreshThis effect provides source to an infinite source of Int values, suitable for generating "fresh" values to uniquely identify data without…
  • Control.Effect.LabelledLabelled effects, allowing flexible disambiguation and dependency of parametric effects. Among other things, this can be used to: Improve…
  • Control.Effect.LiftProvides a mechanism to kick off the evaluation of an effect stack that takes place in a monadic context. Lift effects are always the las…
  • Control.Effect.NonDetAn effect modelling nondeterminism with choice and failure. Nondeterministic operations are encapsulated by the Alternative class, where …
  • Control.Effect.ReaderAn effect providing access to an immutable (but locally-modifiable) context value. This effect is similar to the traditional MonadReader …
  • Control.Effect.Reader.LabelledLabelled Reader operations.
  • Control.Effect.StateAn effect that adds a mutable, updatable state value to a given computation. Not all computations require a full-fledged state effect: re…
  • Control.Effect.State.LabelledLabelled State operations.
  • Control.Effect.SumOperations on sums, combining effects into a signature.
  • Control.Effect.ThrowAn effect for polymorphic failure. Predefined carriers: Control.Carrier.Throw.Either Control.Carrier.Error.Either (with Catch)
  • Control.Effect.TraceAn effect that provides a record of String values ("traces") aggregate during the execution of a given computation. Predefined carriers: …
  • Control.Effect.WriterAn effect allowing writes to an accumulated quantity alongside a computed value. A Writer w effect keeps track of a monoidal datum of typ…

Description

A fast, flexible, fused effect system, à la Effect Handlers in Scope, Monad Transformers and Modular Algebraic Effects: What Binds Them Together, and Fusion for Free—Efficient Algebraic Effect Handlers.

Depends on

3 packages

Used by in this set · 0

Nothing in this set depends on it.