on master help sign in
Re-export MonadIO and MonadUnliftIO
115aa0aAndrzej Rybczak
effectful-core/src/Effectful/Monad.hs+7
@@ -18,7 +18,14 @@ module Effectful.Monad
18 , unliftStrategy
18 , unliftStrategy
19 , withUnliftStrategy
19 , withUnliftStrategy
20 , withEffToIO
20 , withEffToIO
21+
22+ -- * Re-exports
23+ , MonadIO(..)
24+ , MonadUnliftIO(..)
21 ) where
25 ) where
22
26
27+import Control.Monad.IO.Class
28+import Control.Monad.IO.Unlift
29+
23import Effectful.Internal.Effect
30import Effectful.Internal.Effect
24import Effectful.Internal.Monad
31import Effectful.Internal.Monad
effectful/bench/Concurrency.hs−1
@@ -11,7 +11,6 @@ import Test.Tasty.Bench hiding (env)
11
11
12import Control.Concurrent.Async
12import Control.Concurrent.Async
13import Control.Monad
13import Control.Monad
14−import Control.Monad.IO.Class
15import qualified Effectful.Async as A
14import qualified Effectful.Async as A
16
15
17import Effectful
16import Effectful
effectful/bench/Unlift.hs+3−3
@@ -9,7 +9,7 @@ import Criterion
9import Test.Tasty.Bench
9import Test.Tasty.Bench
10#endif
10#endif
11
11
12−import UnliftIO
12+import qualified UnliftIO as U
13
13
14import Effectful
14import Effectful
15import Effectful.State.Dynamic
15import Effectful.State.Dynamic
@@ -92,10 +92,10 @@ benchDummy :: MonadUnliftIO m => m ()
92benchDummy = withRunInIO $ \runIO -> runIO $ pure ()
92benchDummy = withRunInIO $ \runIO -> runIO $ pure ()
93
93
94benchAsync :: MonadUnliftIO m => m ()
94benchAsync :: MonadUnliftIO m => m ()
95−benchAsync = withAsync (pure ()) wait
95+benchAsync = U.withAsync (pure ()) U.wait
96
96
97benchConcurrently :: MonadUnliftIO m => m ()
97benchConcurrently :: MonadUnliftIO m => m ()
98−benchConcurrently = concurrently_ (pure ()) (pure ())
98+benchConcurrently = U.concurrently_ (pure ()) (pure ())
99
99
100benchDummyE :: Eff es ()
100benchDummyE :: Eff es ()
101benchDummyE = pure ()
101benchDummyE = pure ()
effectful/examples/FileSystem.hs−1
@@ -9,7 +9,6 @@ module FileSystem
9
9
10import Control.Exception (IOException)
10import Control.Exception (IOException)
11import Control.Monad.Catch
11import Control.Monad.Catch
12−import Control.Monad.IO.Class
13import Prelude hiding (readFile, writeFile)
12import Prelude hiding (readFile, writeFile)
14import qualified Data.Map.Strict as M
13import qualified Data.Map.Strict as M
15import qualified System.IO as IO
14import qualified System.IO as IO
effectful/src/Effectful.hs+4
@@ -48,6 +48,10 @@ module Effectful
48 -- *** Bidirectional lifts
48 -- *** Bidirectional lifts
49 , localLiftUnlift
49 , localLiftUnlift
50 , localLiftUnliftIO
50 , localLiftUnliftIO
51+
52+ -- * Re-exports
53+ , MonadIO(..)
54+ , MonadUnliftIO(..)
51 ) where
55 ) where
52
56
53import Effectful.Handler
57import Effectful.Handler
effectful/tests/AsyncTests.hs−1
@@ -2,7 +2,6 @@ module AsyncTests (asyncTests) where
2
2
3import Control.Concurrent (threadDelay)
3import Control.Concurrent (threadDelay)
4import Control.Monad
4import Control.Monad
5−import Control.Monad.IO.Class
6import Test.Tasty
5import Test.Tasty
7import Test.Tasty.HUnit
6import Test.Tasty.HUnit
8import qualified Data.Set as S
7import qualified Data.Set as S
effectful/tests/ConcurrencyTests.hs−1
@@ -2,7 +2,6 @@ module ConcurrencyTests (concurrencyTests) where
2
2
3import Control.Concurrent (threadDelay)
3import Control.Concurrent (threadDelay)
4import Control.Monad
4import Control.Monad
5−import Control.Monad.IO.Class
6import Test.Tasty
5import Test.Tasty
7import Test.Tasty.HUnit
6import Test.Tasty.HUnit
8import UnliftIO
7import UnliftIO
effectful/tests/ErrorTests.hs−1
@@ -1,6 +1,5 @@
1module ErrorTests (errorTests) where
1module ErrorTests (errorTests) where
2
2
3−import Control.Monad.IO.Class
4import Test.Tasty
3import Test.Tasty
5import Test.Tasty.HUnit
4import Test.Tasty.HUnit
6
5
effectful/tests/Utils.hs−1
@@ -6,7 +6,6 @@ module Utils
6 ) where
6 ) where
7
7
8import Control.Exception
8import Control.Exception
9−import Control.Monad.IO.Class
10import GHC.Stack
9import GHC.Stack
11import qualified Test.Tasty.HUnit as T
10import qualified Test.Tasty.HUnit as T
12
11