Modulefused-effects-1.1.2.7Haskell2010
Control.Carrier.Writer.Strict
A carrier for Writer 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.
This implementation is based on a post Gabriel Gonzalez made to the Haskell mailing list: https://mail.haskell.org/pipermail/libraries/2013-March/019528.html
- 1 type
- 2 values
- Packagefused-effects-1.1.2.7
- Exports3
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceStrict.hs
Writer carrier
3 declarationsA space-efficient carrier for Writer effects, implemented atop Control.Carrier.State.Strict.
Instances10MonadTrans, Monad, Functor, MonadFix, MonadFail, Applicative, …
MonadTrans (WriterC w)Defined in fused-effects-1.1.2.7 · Control.Carrier.Writer.StrictMonad m => Monad (WriterC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Writer.StrictFunctor m => Functor (WriterC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Writer.StrictMonadFix m => MonadFix (WriterC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Writer.StrictMonadFail m => MonadFail (WriterC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Writer.StrictMonad m => Applicative (WriterC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Writer.Strict(Alternative m, Monad m) => Alternative (WriterC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Writer.Strict(Alternative m, Monad m) => MonadPlus (WriterC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Writer.StrictMonadIO m => MonadIO (WriterC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Writer.Strict(Monoid w, Algebra sig m) => Algebra (Writer w :+: sig) (WriterC w m)Defined in fused-effects-1.1.2.7 · Control.Carrier.Writer.Strict
Writer effect
0 declarationsmodule Control.Effect.Writer