Modulefused-effects-1.1.2.7Haskell2010
Control.Carrier.State.Strict
A carrier for the State effect. It evaluates its inner state strictly, which is the correct choice for the majority of use cases.
Note that the parameter order in runState, evalState, and execState is reversed compared the equivalent functions provided by transformers. This is an intentional decision made to enable the composition of effect handlers with . without invoking flip.
- 1 type
- 3 values
- Packagefused-effects-1.1.2.7
- Exports4
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceStrict.hs
Strict state carrier
4 declarationsConstructors
StateC (s -> m (s, a))
Instances10MonadTrans, Monad, Functor, MonadFix, MonadFail, Applicative, …
MonadTrans (StateC s)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.StrictMonad m => Monad (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.StrictFunctor m => Functor (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.StrictMonadFix m => MonadFix (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.StrictMonadFail m => MonadFail (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.StrictMonad m => Applicative (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.Strict(Alternative m, Monad m) => Alternative (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.Strict(Alternative m, Monad m) => MonadPlus (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.StrictMonadIO m => MonadIO (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.StrictAlgebra sig m => Algebra (State s :+: sig) (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.Strict
State effect
0 declarationsmodule Control.Effect.State