Modulefused-effects-1.1.2.7Haskell2010
Control.Carrier.State.IORef
A carrier for the State effect. It uses an IORef internally to handle its state, and thus admits a MonadUnliftIO instance. Because the state operations are performed impurely, this carrier will not lose state effects even with nefarious uses of liftWith.
Unlike the other carriers for State, this carrier's effects will not backtrack when run in conjuction with Control.Effect.NonDet effects.
- 1 type
- 4 values
- Packagefused-effects-1.1.2.7
- Exports5
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceIORef.hs
Impure state carrier
5 declarationsInstances11MonadTrans, Monad, Functor, MonadFix, MonadFail, Applicative, …
MonadTrans (StateC s)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORefMonad m => Monad (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORefFunctor m => Functor (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORefMonadFix m => MonadFix (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORefMonadFail m => MonadFail (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORefApplicative m => Applicative (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORefAlternative m => Alternative (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORef(Alternative m, Monad m) => MonadPlus (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORefMonadIO m => MonadIO (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORefMonadUnliftIO m => MonadUnliftIO (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORef(MonadIO m, Algebra sig m) => Algebra (State s :+: sig) (StateC s m)Defined in fused-effects-1.1.2.7 · Control.Carrier.State.IORef
State effect
0 declarationsmodule Control.Effect.State