heart-core-0.1.0: An opinionated library prelude in the UnliftIO style

Safe HaskellNone
LanguageHaskell2010

Heart.Core.RIO

Documentation

newtype RIO env a Source #

Constructors

RIO 

Fields

Instances
MonadReader env (RIO env) Source # 
Instance details

Defined in Heart.Core.RIO

Methods

ask :: RIO env env #

local :: (env -> env) -> RIO env a -> RIO env a #

reader :: (env -> a) -> RIO env a #

Monad (RIO env) Source # 
Instance details

Defined in Heart.Core.RIO

Methods

(>>=) :: RIO env a -> (a -> RIO env b) -> RIO env b #

(>>) :: RIO env a -> RIO env b -> RIO env b #

return :: a -> RIO env a #

fail :: String -> RIO env a #

Functor (RIO env) Source # 
Instance details

Defined in Heart.Core.RIO

Methods

fmap :: (a -> b) -> RIO env a -> RIO env b #

(<$) :: a -> RIO env b -> RIO env a #

MonadFail (RIO env) Source # 
Instance details

Defined in Heart.Core.RIO

Methods

fail :: String -> RIO env a #

Applicative (RIO env) Source # 
Instance details

Defined in Heart.Core.RIO

Methods

pure :: a -> RIO env a #

(<*>) :: RIO env (a -> b) -> RIO env a -> RIO env b #

liftA2 :: (a -> b -> c) -> RIO env a -> RIO env b -> RIO env c #

(*>) :: RIO env a -> RIO env b -> RIO env b #

(<*) :: RIO env a -> RIO env b -> RIO env a #

MonadIO (RIO env) Source # 
Instance details

Defined in Heart.Core.RIO

Methods

liftIO :: IO a -> RIO env a #

MonadThrow (RIO env) Source # 
Instance details

Defined in Heart.Core.RIO

Methods

throwM :: Exception e => e -> RIO env a #

MonadUnliftIO (RIO env) Source # 
Instance details

Defined in Heart.Core.RIO

Methods

askUnliftIO :: RIO env (UnliftIO (RIO env)) #

withRunInIO :: ((forall a. RIO env a -> IO a) -> IO b) -> RIO env b #

withRIO :: (env -> env') -> RIO env' a -> RIO env a Source #

runRIO :: MonadIO m => env -> RIO env a -> m a Source #