| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Heart.Core.RIO
Description
Most definitions follow the RIO lib: https://hackage.haskell.org/package/rio-0.1.14.0/docs/RIO.html See LICENSE info in the README.
Documentation
class HasStateRef st env | env -> st where Source #
class HasWriteRef w env | env -> w where Source #
Instances
| MonadReader env (RIO env) Source # | |
| HasStateRef st env => MonadState st (RIO env) Source # | |
| (Monoid w, HasWriteRef w env) => MonadWriter w (RIO env) Source # | |
| Monad (RIO env) Source # | |
| Functor (RIO env) Source # | |
| MonadFail (RIO env) Source # | |
Defined in Heart.Core.RIO | |
| Applicative (RIO env) Source # | |
| MonadIO (RIO env) Source # | |
Defined in Heart.Core.RIO | |
| MonadThrow (RIO env) Source # | |
Defined in Heart.Core.RIO | |
| MonadCatch (RIO env) Source # | |
| MonadMask (RIO env) Source # | |
| MonadUnliftIO (RIO env) Source # | |
Defined in Heart.Core.RIO | |
getStateRef :: (HasStateRef st env, MonadReader env m, MonadIO m) => m st Source #
listenWriteRef :: (HasWriteRef w env, MonadReader env m, MonadIO m) => m a -> m (a, w) Source #
newSomeRef :: MonadIO m => a -> m (SomeRef a) Source #
modifySomeRef :: MonadIO m => SomeRef a -> (a -> a) -> m () Source #
modifyStateRef :: (HasStateRef st env, MonadReader env m, MonadIO m) => (st -> st) -> m () Source #
passWriteRef :: (HasWriteRef w env, MonadReader env m, MonadIO m) => m (a, w -> w) -> m a Source #
putStateRef :: (HasStateRef st env, MonadReader env m, MonadIO m) => st -> m () Source #
readSomeRef :: MonadIO m => SomeRef a -> m a Source #
tellWriteRef :: (HasWriteRef w env, MonadReader env m, MonadIO m, Semigroup w) => w -> m () Source #
writeSomeRef :: MonadIO m => SomeRef a -> a -> m () Source #