on master help sign in
Remove (re)interpretIO
fd410a4Andrzej Rybczak
src/Effectful.hs−2
@@ -23,12 +23,10 @@ module Effectful
23 -- ** Basic handlers
23 -- ** Basic handlers
24 , interpret
24 , interpret
25 , interpretM
25 , interpretM
26− , interpretIO
27
26
28 -- ** Derived handlers
27 -- ** Derived handlers
29 , reinterpret
28 , reinterpret
30 , reinterpretM
29 , reinterpretM
31− , reinterpretIO
32 ) where
30 ) where
33
31
34import Effectful.Interpreter
32import Effectful.Interpreter
src/Effectful/Interpreter.hs−27
@@ -8,12 +8,10 @@ module Effectful.Interpreter
8 -- ** Interpretation
8 -- ** Interpretation
9 , interpret
9 , interpret
10 , interpretM
10 , interpretM
11− , interpretIO
12
11
13 -- ** Reinterpretation
12 -- ** Reinterpretation
14 , reinterpret
13 , reinterpret
15 , reinterpretM
14 , reinterpretM
16− , reinterpretIO
17 ) where
15 ) where
18
16
19import Control.Exception
17import Control.Exception
@@ -81,17 +79,6 @@ interpretM interpreter m = unsafeEff $ \es -> do
81 les <- forkEnv es
79 les <- forkEnv es
82 runInterpreter es (Interpreter les $ \k -> interpreter $ unsafeEff_ . k) m
80 runInterpreter es (Interpreter les $ \k -> interpreter $ unsafeEff_ . k) m
83
81
84−-- | Interpret a higher order effect with help of a function running local 'Eff'
85−-- operations in 'IO'.
86−interpretIO
87− :: (forall r localEs. HasCallStack => RunIn localEs IO -> e (Eff localEs) r -> Eff es r)
88− -- ^ The effect handler.
89− -> Eff (e : es) a
90− -> Eff es a
91−interpretIO interpreter m = unsafeEff $ \es -> do
92− les <- forkEnv es
93− runInterpreter es (Interpreter les interpreter) m
94−
95----------------------------------------
82----------------------------------------
96-- Reinterpretation
83-- Reinterpretation
97
84
@@ -121,17 +108,3 @@ reinterpretM runLocal interpreter m = unsafeEff $ \es -> do
121 les0 <- forkEnv es
108 les0 <- forkEnv es
122 (`unEff` les0) . runLocal . unsafeEff $ \les -> do
109 (`unEff` les0) . runLocal . unsafeEff $ \les -> do
123 runInterpreter es (Interpreter les $ \k -> interpreter $ unsafeEff_ . k) m
110 runInterpreter es (Interpreter les $ \k -> interpreter $ unsafeEff_ . k) m
124−
125−-- | Interpret a higher order effect using other effects with help of a function
126−-- running local 'Eff' operations in 'IO'.
127−reinterpretIO
128− :: (Eff handlerEs a -> Eff es b)
129− -- ^ Introduction of effects encapsulated within the handler.
130− -> (forall r localEs. HasCallStack => RunIn localEs IO -> e (Eff localEs) r -> Eff handlerEs r)
131− -- ^ The effect handler.
132− -> Eff (e : es) a
133− -> Eff es b
134−reinterpretIO runLocal interpreter m = unsafeEff $ \es -> do
135− les0 <- forkEnv es
136− (`unEff` les0) . runLocal . unsafeEff $ \les -> do
137− runInterpreter es (Interpreter les interpreter) m