@@ -369,30 +369,24 @@ execEffect e0 m = unsafeEff $ \es0 -> do
370getEffect :: e :> es => Eff es (i e)
370getEffect :: e :> es => Eff es (i e)
371getEffect = unsafeEff $ \es -> getEnv es
371getEffect = unsafeEff $ \es -> getEnv es
372−{-# INLINE getEffect #-}
374putEffect :: e :> es => i e -> Eff es ()
373putEffect :: e :> es => i e -> Eff es ()
375putEffect e = unsafeEff $ \es -> unsafePutEnv e es
374putEffect e = unsafeEff $ \es -> unsafePutEnv e es
376−{-# INLINE putEffect #-}
378stateEffect :: e :> es => (i e -> (a, i e)) -> Eff es a
376stateEffect :: e :> es => (i e -> (a, i e)) -> Eff es a
379stateEffect f = unsafeEff $ \es -> unsafeStateEnv f es
377stateEffect f = unsafeEff $ \es -> unsafeStateEnv f es
380−{-# INLINE stateEffect #-}
382localEffect :: e :> es => (i e -> i e) -> Eff es a -> Eff es a
379localEffect :: e :> es => (i e -> i e) -> Eff es a -> Eff es a
383localEffect f m = unsafeEff $ \es -> do
380localEffect f m = unsafeEff $ \es -> do
384 bracket (unsafeStateEnv (\e -> (e, f e)) es)
381 bracket (unsafeStateEnv (\e -> (e, f e)) es)
385 (\e -> unsafePutEnv e es)
382 (\e -> unsafePutEnv e es)
386 (\_ -> unEff m es)
383 (\_ -> unEff m es)
387−{-# INLINE localEffect #-}
389readerEffectM :: e :> es => (i e -> Eff es a) -> Eff es a
385readerEffectM :: e :> es => (i e -> Eff es a) -> Eff es a
390readerEffectM f = unsafeEff $ \es -> getEnv es >>= \e -> unEff (f e) es
386readerEffectM f = unsafeEff $ \es -> getEnv es >>= \e -> unEff (f e) es
391−{-# INLINE readerEffectM #-}
393stateEffectM :: e :> es => (i e -> Eff es (a, i e)) -> Eff es a
388stateEffectM :: e :> es => (i e -> Eff es (a, i e)) -> Eff es a
394stateEffectM f = unsafeEff $ \es -> mask $ \release -> do
389stateEffectM f = unsafeEff $ \es -> mask $ \release -> do
395 (a, e) <- (\e -> release $ unEff (f e) es) =<< getEnv es
390 (a, e) <- (\e -> release $ unEff (f e) es) =<< getEnv es
396 unsafePutEnv e es
391 unsafePutEnv e es
398−{-# INLINE stateEffectM #-}