@@ -24,17 +24,17 @@ import Control.Monad.Trans.Class (lift)
24
24
-- | -- Join is idempotent
25
25
-- | join t *> join t = join t
26
26
-- | ```
27
- class (Monad m , Functor f ) ⇐ MonadFork f m | m → f where
28
- suspend ∷ ∀ a . m a → m (f a )
29
- fork ∷ ∀ a . m a → m (f a )
30
- join ∷ ∀ a . f a → m a
27
+ class (Monad m , Functor f ) <= MonadFork f m | m -> f where
28
+ suspend :: forall a . m a -> m (f a )
29
+ fork :: forall a . m a -> m (f a )
30
+ join :: forall a . f a -> m a
31
31
32
- instance monadForkAff ∷ MonadFork Aff.Fiber Aff.Aff where
32
+ instance monadForkAff :: MonadFork Aff.Fiber Aff.Aff where
33
33
suspend = Aff .suspendAff
34
34
fork = Aff .forkAff
35
35
join = Aff .joinFiber
36
36
37
- instance monadForkReaderT ∷ MonadFork f m ⇒ MonadFork f (ReaderT r m ) where
37
+ instance monadForkReaderT :: MonadFork f m => MonadFork f (ReaderT r m ) where
38
38
suspend (ReaderT ma) = ReaderT (suspend <<< ma)
39
39
fork (ReaderT ma) = ReaderT (fork <<< ma)
40
40
join = lift <<< join
@@ -50,13 +50,13 @@ instance monadForkReaderT ∷ MonadFork f m ⇒ MonadFork f (ReaderT r m) where
50
50
-- | -- Suspend/kill is unit
51
51
-- | suspend a >>= kill e = pure unit
52
52
-- | ```
53
- class (MonadFork f m , MonadThrow e m ) ⇐ MonadKill e f m | m → e f where
54
- kill ∷ ∀ a . e → f a → m Unit
53
+ class (MonadFork f m , MonadThrow e m ) <= MonadKill e f m | m -> e f where
54
+ kill :: forall a . e -> f a -> m Unit
55
55
56
- instance monadKillAff ∷ MonadKill Aff.Error Aff.Fiber Aff.Aff where
56
+ instance monadKillAff :: MonadKill Aff.Error Aff.Fiber Aff.Aff where
57
57
kill = Aff .killFiber
58
58
59
- instance monadKillReaderT ∷ MonadKill e f m ⇒ MonadKill e f (ReaderT r m ) where
59
+ instance monadKillReaderT :: MonadKill e f m => MonadKill e f (ReaderT r m ) where
60
60
kill e = lift <<< kill e
61
61
62
62
data BracketCondition e a
@@ -80,12 +80,12 @@ data BracketCondition e a
80
80
-- | fork (bracket a k \_ -> never) >>= \f -> kill e f *> void (try (join f))
81
81
-- | = uninterruptible (a >>= k (Killed e))
82
82
-- | ```
83
- class (MonadKill e f m , MonadError e m ) ⇐ MonadBracket e f m | m → e f where
84
- bracket ∷ ∀ r a . m r → (BracketCondition e a → r → m Unit ) → (r → m a ) → m a
85
- uninterruptible ∷ ∀ a . m a → m a
86
- never ∷ ∀ a . m a
83
+ class (MonadKill e f m , MonadError e m ) <= MonadBracket e f m | m -> e f where
84
+ bracket :: forall r a . m r -> (BracketCondition e a -> r -> m Unit ) -> (r -> m a ) -> m a
85
+ uninterruptible :: forall a . m a -> m a
86
+ never :: forall a . m a
87
87
88
- instance monadBracketAff ∷ MonadBracket Aff.Error Aff.Fiber Aff.Aff where
88
+ instance monadBracketAff :: MonadBracket Aff.Error Aff.Fiber Aff.Aff where
89
89
bracket acquire release run =
90
90
Aff .generalBracket acquire
91
91
{ completed: release <<< Completed
@@ -96,11 +96,11 @@ instance monadBracketAff ∷ MonadBracket Aff.Error Aff.Fiber Aff.Aff where
96
96
uninterruptible = Aff .invincible
97
97
never = Aff .never
98
98
99
- instance monadBracketReaderT ∷ MonadBracket e f m ⇒ MonadBracket e f (ReaderT r m ) where
100
- bracket (ReaderT acquire) release run = ReaderT \r →
99
+ instance monadBracketReaderT :: MonadBracket e f m => MonadBracket e f (ReaderT r m ) where
100
+ bracket (ReaderT acquire) release run = ReaderT \r ->
101
101
bracket (acquire r)
102
- (\c a → runReaderT (release c a) r)
103
- (\a → runReaderT (run a) r)
102
+ (\c a -> runReaderT (release c a) r)
103
+ (\a -> runReaderT (run a) r)
104
104
uninterruptible k = ReaderT \r ->
105
105
uninterruptible (runReaderT k r)
106
106
never = lift never
0 commit comments