graft-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Effect.IO

Documentation

data MonadIOEffect :: Effect where Source #

Constructors

LiftIO :: forall (m :: Type -> Type) (a :: Type). (IO a) -> MonadIOEffect m a 

Instances

Instances details
((), MonadIO m) => InterpretEffect m MonadIOEffect Source # 
Instance details

Defined in Effect.IO

Methods

interpretEffect :: forall (ops :: [Effect]) a. (forall b. AST ops b -> m b) -> MonadIOEffect (AST ops) a -> m a Source #

MonadIO m => InterpretEffectStateful x m MonadIOEffect Source #

A "passthough" instance for MonadIOEffects: Modifications don't change anything.

Instance details

Defined in Effect.IO.Passthrough

Methods

interpretEffectStateful :: forall (ops :: [Effect]) x0 a. (forall b y. x y -> AST ops b -> m (b, x y)) -> x x0 -> MonadIOEffect (AST ops) a -> m (a, x x0) Source #

Orphan instances

((), EffectInject MonadIOEffect ops) => MonadIO (AST ops) Source # 
Instance details

Methods

liftIO :: IO a -> AST ops a #