@@ -29,7 +29,7 @@ import Effectful.Internal.Monad
29data Interpreter (e :: Effect) = forall localEs. Interpreter
29data Interpreter (e :: Effect) = forall localEs. Interpreter
30 { _env :: Env localEs
30 { _env :: Env localEs
31 , _interpret :: forall a es. HasCallStack
31 , _interpret :: forall a es. HasCallStack
32− => (forall r. Eff es r -> IO r)
32+ => RunIn es IO
33 -> e (Eff es) a
33 -> e (Eff es) a
34 -> Eff localEs a
34 -> Eff localEs a
@@ -57,10 +57,6 @@ send op = readerEffectM $ \Interpreter{..} -> do
57----------------------------------------
57----------------------------------------
58-- Interpretation
58-- Interpretation
60−-- | A function that runs 'Eff' computations in @m@ (usually a local 'Eff'
61−-- environment or 'IO').
62−type RunIn es m = forall r. Eff es r -> m r
64-- | Interpret a first order effect.
60-- | Interpret a first order effect.
66 :: (forall r es. HasCallStack => e (Eff es) r -> Eff baseEs r)
62 :: (forall r es. HasCallStack => e (Eff es) r -> Eff baseEs r)
@@ -101,7 +97,7 @@ reinterpret
101 :: (Eff localEs a -> Eff baseEs b)
97 :: (Eff localEs a -> Eff baseEs b)
102 -- ^ Introduction of local effects
98 -- ^ Introduction of local effects
103 -> (forall r es. HasCallStack => e (Eff es) r -> Eff localEs r)
99 -> (forall r es. HasCallStack => e (Eff es) r -> Eff localEs r)
104− -- ^ The efect handler
100+ -- ^ The effect handler
105 -> Eff (e : baseEs) a
101 -> Eff (e : baseEs) a
106 -> Eff baseEs b
102 -> Eff baseEs b
107reinterpret runLocal interpreter m = unsafeEff $ \es -> do
103reinterpret runLocal interpreter m = unsafeEff $ \es -> do