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

Package1.1.2.7Control

fused-effects

A fast, flexible, fused effect system.

Modules

49 modules
  • Control.Algebra8The Algebra class is the mechanism with which effects are interpreted. An instance of the Algebra class defines an interpretation of an e…
  • Control.Algebra.Handler2
  • Control.Carrier.Accum.Church4A high-performance, strict, church-encoded carrier for Accum. This carrier issues left-associated mappends, meaning that Monoids such as …
  • Control.Carrier.Accum.IORef4A carrier for Accum effects.
  • Control.Carrier.Accum.Strict4A carrier for Accum effects.
  • Control.Carrier.Choose.Church3A carrier for Choose effects (nondeterminism without failure). Under the hood, it uses a Church-encoded binary tree to avoid the problems…
  • Control.Carrier.Cull.Church4A carrier for Cull and NonDet effects used in tandem (Cull :+: NonDet).
  • Control.Carrier.Cut.Church4A carrier for Cut and NonDet effects used in tandem (Cut :+: NonDet).
  • Control.Carrier.Empty.Church4A church-encoded carrier for Empty.
  • Control.Carrier.Empty.Maybe4A 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.Church2A church-encoded carrier for Error.
  • Control.Carrier.Error.Either2A carrier for an Error effect.
  • Control.Carrier.Fail.Either2A 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.Church3A church-encoded carrier for a Fresh effect, providing access to a monotonically increasing stream of Int values.
  • Control.Carrier.Fresh.Strict3A carrier for a Fresh effect, providing access to a monotonically increasing stream of Int values.
  • Control.Carrier.Interpret8Provides an InterpretC carrier capable of interpreting an arbitrary effect using a passed-in higher order function to interpret that effe…
  • Control.Carrier.Lift2A 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.Church4Provides NonDetC, a carrier for NonDet effects providing choice and failure. Under the hood, it uses a Church-encoded structure and a bin…
  • Control.Carrier.Reader2A carrier for Reader effects.
  • Control.Carrier.State.Church4A church-encoded carrier for the State effect. Note that the parameter order in runState, evalState, and execState is reversed compared t…
  • Control.Carrier.State.IORef5A 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.Lazy4A carrier for the State effect that refrains from evaluating its state until necessary. This is less efficient than Control.Carrier.State…
  • Control.Carrier.State.Strict4A 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.Either2A carrier for a Throw effect.
  • Control.Carrier.Trace.Ignoring2A 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.Printing2A carrier for the Trace effect that prints all traced results to stderr.
  • Control.Carrier.Trace.Returning2A carrier for the Trace effect that aggregates and returns all traced values.
  • Control.Carrier.Writer.Church3A high-performance, strict, church-encoded carrier for Writer. This carrier issues left-associated mappends, meaning that Monoids such as…
  • Control.Carrier.Writer.Strict3A carrier for Writer effects. This carrier performs its append operations strictly and thus avoids the space leaks inherent in lazy write…
  • Control.Effect.Accum7An effect allowing writes to an accumulated quantity alongside a computed value,
  • Control.Effect.Catch5An effect modelling catchable failure when used with Throw. Predefined carriers: Control.Carrier.Error.Either (with Throw)
  • Control.Effect.Choose10An effect modelling nondeterminism without failure (one or more successful results). The NonDet effect is the composition of Choose and E…
  • Control.Effect.Cull5Provides an effect to cull choices in a given nondeterministic context. This effect is used in concert with NonDet. Computations run insi…
  • Control.Effect.Cut7Provides an effect to delimit backtracking in a given nondeterministic context. This effect is used in concert with NonDet. Computations …
  • Control.Effect.Empty6An effect modelling nondeterminism without choice (success or failure). This can be seen as similar to Fail, but without an error message…
  • Control.Effect.Error1An effect modelling catchable failure with a polymorphic error type, the combination of Throw and Catch. This effect is similar to the tr…
  • Control.Effect.Fail6An effect providing failure with an error message. This effect is invoked through the fail method from MonadFail. Predefined carriers: Co…
  • Control.Effect.Fresh5This effect provides source to an infinite source of Int values, suitable for generating "fresh" values to uniquely identify data without…
  • Control.Effect.Labelled7Labelled effects, allowing flexible disambiguation and dependency of parametric effects. Among other things, this can be used to: Improve…
  • Control.Effect.Lift7Provides 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.NonDet12An effect modelling nondeterminism with choice and failure. Nondeterministic operations are encapsulated by the Alternative class, where …
  • Control.Effect.Reader7An effect providing access to an immutable (but locally-modifiable) context value. This effect is similar to the traditional MonadReader …
  • Control.Effect.Reader.Labelled8Labelled Reader operations.
  • Control.Effect.State10An 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.Labelled11Labelled State operations.
  • Control.Effect.Sum4Operations on sums, combining effects into a signature.
  • Control.Effect.Throw6An effect for polymorphic failure. Predefined carriers: Control.Carrier.Throw.Either Control.Carrier.Error.Either (with Catch)
  • Control.Effect.Trace5An effect that provides a record of String values ("traces") aggregate during the execution of a given computation. Predefined carriers: …
  • Control.Effect.Writer8An 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.