Modulefused-effects-1.1.2.7Haskell2010
Control.Carrier.Accum.Strict
A carrier for Accum effects.
This carrier performs its append operations strictly and thus avoids the space leaks inherent in lazy writer monads.
These appends are left-associative; as such, [] is a poor choice of monoid for computations that entail many calls to tell.
The Seq or DList monoids may be a superior choice.
- 1 type
- 3 values
- Packagefused-effects-1.1.2.7
- Exports4
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceStrict.hs
Accum carrier
4 declarationsConstructors
AccumCrunAccumC :: w -> m (w, a)
Instances10MonadTrans, Monad, Functor, MonadFix, MonadFail, Applicative, …
Monoid w => MonadTrans (AccumC w)Defined in fused-effects-1.1.2.7 · Control.Carrier.Accum.Strict(Monad m, Monoid w) => Monad (AccumC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Accum.StrictFunctor m => Functor (AccumC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Accum.Strict(MonadFix m, Monoid w) => MonadFix (AccumC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Accum.Strict(MonadFail m, Monoid w) => MonadFail (AccumC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Accum.Strict(Monad m, Monoid w) => Applicative (AccumC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Accum.Strict(Alternative m, Monad m, Monoid w) => Alternative (AccumC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Accum.Strict(MonadPlus m, Monoid w) => MonadPlus (AccumC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Accum.Strict(MonadIO m, Monoid w) => MonadIO (AccumC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Accum.Strict(Algebra sig m, Monoid w) => Algebra (Accum w :+: sig) (AccumC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Accum.Strict
Accum effect
0 declarationsmodule Control.Effect.Accum