Safe Haskell | None |
---|---|
Language | Haskell2010 |
Most definitions follow the RIO lib: https://hackage.haskell.org/package/rio-0.1.18.0/docs/RIO.html The rest follow from orphans: https://hackage.haskell.org/package/rio-orphans-0.1.1.0/docs/src/RIO.Orphans.html See LICENSE info in the README.
Documentation
class HasResourceMap env where Source #
resourceMapL :: Lens' env ResourceMap Source #
Instances
HasResourceMap (IORef ReleaseMap) Source # | |
Defined in LittleRIO | |
HasResourceMap (SimpleResourceEnv env) Source # | |
Defined in LittleRIO resourceMapL :: Lens' (SimpleResourceEnv env) ResourceMap Source # |
class HasStateRef st env | env -> st where Source #
class HasWriteRef w env | env -> w where Source #
data SimpleResourceEnv env Source #
SimpleResourceEnv | |
|
Instances
data SimpleStateEnv st env Source #
Instances
data SimpleWriteEnv w env Source #
Instances
type ResourceMap = IORef ReleaseMap 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 # | |
Applicative (RIO env) Source # | |
MonadIO (RIO env) Source # | |
MonadUnliftIO (RIO env) Source # | |
HasResourceMap env => MonadResource (RIO env) Source # | |
PrimMonad (RIO env) Source # | |
MonadThrow (RIO env) Source # | |
MonadCatch (RIO env) Source # | |
MonadMask (RIO env) Source # | |
HasLogAction env => MonadLogger (RIO env) Source # | |
Semigroup a => Semigroup (RIO env a) Source # | |
Monoid a => Monoid (RIO env a) Source # | |
type PrimState (RIO env) Source # | |
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 #
runSimpleResourceRIO :: MonadUnliftIO m => env -> RIO (SimpleResourceEnv env) a -> m a Source #
runSimpleStateRIO :: MonadIO m => st -> env -> RIO (SimpleStateEnv st env) a -> m (a, st) Source #
runSimpleWriteRIO :: (MonadIO m, Monoid w) => env -> RIO (SimpleWriteEnv w env) a -> m (a, w) Source #
readSomeRef :: MonadIO m => SomeRef a -> m a Source #
resourceRIO :: HasResourceMap env => ResourceT IO a -> RIO env a Source #
tellWriteRef :: (HasWriteRef w env, MonadReader env m, MonadIO m, Semigroup w) => w -> m () Source #
withResourceMap :: MonadUnliftIO m => (ResourceMap -> m a) -> m a Source #
writeSomeRef :: MonadIO m => SomeRef a -> a -> m () Source #