packages feed

data-effects 0.1.0.0 → 0.1.1.0

raw patch · 5 files changed

+102/−3 lines, 5 filesdep +lensdep +textdep +timedep ~data-effects-thPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: lens, text, time

Dependency ranges changed: data-effects-th

API changes (from Hackage documentation)

- Data.Effect.Chronicle: pattern LDictate :: () => a_agJu ~ () => c_agGR -> LiftIns (ChronicleF c_agGR) f_agJt a_agJu
- Data.Effect.Chronicle: pattern LConfess :: () => a_agJx ~ a_agGT => c_agGS -> LiftIns (ChronicleF c_agGS) f_agJw a_agJx
- Data.Effect.Coroutine: pattern LYield :: () => a_afMd ~ b_afLq => a_afLp -> LiftIns (Yield a_afLp b_afLq) f_afMc a_afMd
- Data.Effect.Except: pattern LThrow :: () => a_aeT5 ~ a_aeRB => e_aeRA -> LiftIns (Throw e_aeRA) f_aeT4 a_aeT5
- Data.Effect.KVStore: pattern LUpdateKV :: () => a_afdi ~ () => k_afbS -> Maybe v_afbT -> LiftIns (KVStore k_afbS v_afbT) f_afdh a_afdi
- Data.Effect.KVStore: pattern LLookupKV :: () => a_afde ~ Maybe v_afbv => k_afbu -> LiftIns (KVStore k_afbu v_afbv) f_afdd a_afde
- Data.Effect.Output: pattern LOutput :: () => a_adMm ~ () => o_adLH -> LiftIns (Output o_adLH) f_adMl a_adMm
- Data.Effect.State: pattern LPut :: () => a_abcu ~ () => s_abbw -> LiftIns (State s_abbw) f_abct a_abcu
- Data.Effect.Writer: pattern LTell :: () => a_aalF ~ () => w_aabH -> LiftIns (Tell w_aabH) f_aalE a_aalF
+ Data.Effect.Chronicle: pattern LDictate :: () => (a_aijq ~ (), ()) => c_aigR -> LiftIns (ChronicleF c_aigR) f_aijp a_aijq
+ Data.Effect.Chronicle: pattern LConfess :: () => (a_aijt ~ a_aigT, ()) => c_aigS -> LiftIns (ChronicleF c_aigS) f_aijs a_aijt
+ Data.Effect.Concurrent.Timer: [Clock] :: Timer DiffTime
+ Data.Effect.Concurrent.Timer: [Sleep] :: DiffTime -> Timer ()
+ Data.Effect.Concurrent.Timer: [Wait] :: DiffTime -> CyclicTimer ()
+ Data.Effect.Concurrent.Timer: clock :: forall f_agT8. SendIns Timer f_agT8 => f_agT8 DiffTime
+ Data.Effect.Concurrent.Timer: clock' :: forall tag_agT9 f_agTa. SendIns (Tag Timer tag_agT9) f_agTa => f_agTa DiffTime
+ Data.Effect.Concurrent.Timer: clock'' :: forall key_agTb f_agTc. SendInsBy key_agTb Timer f_agTc => f_agTc DiffTime
+ Data.Effect.Concurrent.Timer: cyclicTimer :: forall m a. (Timer <: m, Yield () DiffTime <: m, Monad m) => m a
+ Data.Effect.Concurrent.Timer: data CyclicTimer a
+ Data.Effect.Concurrent.Timer: data Timer a
+ Data.Effect.Concurrent.Timer: measureTime :: (Timer <: m, Monad m) => m a -> m (DiffTime, a)
+ Data.Effect.Concurrent.Timer: pattern LWait :: () => (a_ahhc ~ (), ()) => DiffTime -> LiftIns CyclicTimer f_ahhb a_ahhc
+ Data.Effect.Concurrent.Timer: pattern LClock :: () => (a_agTm ~ DiffTime, ()) => LiftIns Timer f_agTl a_agTm
+ Data.Effect.Concurrent.Timer: periodicTimer :: forall m a. (Timer <: m, Yield () () <: m, Monad m) => DiffTime -> m a
+ Data.Effect.Concurrent.Timer: runCyclic :: (Timer <: m, Monad m) => m DiffTime -> m () -> m a
+ Data.Effect.Concurrent.Timer: runPeriodic :: (Timer <: m, Monad m) => DiffTime -> m () -> m a
+ Data.Effect.Concurrent.Timer: sleep :: forall f_agTd. SendIns Timer f_agTd => DiffTime -> f_agTd ()
+ Data.Effect.Concurrent.Timer: sleep' :: forall tag_agTf f_agTg. SendIns (Tag Timer tag_agTf) f_agTg => DiffTime -> f_agTg ()
+ Data.Effect.Concurrent.Timer: sleep'' :: forall key_agTi f_agTj. SendInsBy key_agTi Timer f_agTj => DiffTime -> f_agTj ()
+ Data.Effect.Concurrent.Timer: sleepUntil :: (Timer <: m, Monad m) => DiffTime -> m (Maybe DiffTime)
+ Data.Effect.Concurrent.Timer: type LCyclicTimer = LiftIns CyclicTimer
+ Data.Effect.Concurrent.Timer: type LTimer = LiftIns Timer
+ Data.Effect.Concurrent.Timer: wait :: forall f_ahh2. SendIns CyclicTimer f_ahh2 => DiffTime -> f_ahh2 ()
+ Data.Effect.Concurrent.Timer: wait' :: forall tag_ahh4 f_ahh5. SendIns (Tag CyclicTimer tag_ahh4) f_ahh5 => DiffTime -> f_ahh5 ()
+ Data.Effect.Concurrent.Timer: wait'' :: forall key_ahh7 f_ahh8. SendInsBy key_ahh7 CyclicTimer f_ahh8 => DiffTime -> f_ahh8 ()
+ Data.Effect.Concurrent.Timer: withElapsedTime :: (Timer <: m, Monad m) => (m DiffTime -> m a) -> m a
+ Data.Effect.Coroutine: pattern LYield :: () => (a_agbN ~ b_agb0, ()) => a_agaZ -> LiftIns (Yield a_agaZ b_agb0) f_agbM a_agbN
+ Data.Effect.Except: exc :: Monad m => m (Either (m a) a) -> m a
+ Data.Effect.Except: joinEither :: (Throw e <: m, Monad m) => m (Either e a) -> m a
+ Data.Effect.Except: joinExcept :: Monad m => Either (m a) a -> m a
+ Data.Effect.Except: liftEither :: (Throw e <: f, Applicative f) => Either e a -> f a
+ Data.Effect.Except: onExcept :: forall e f a. (Catch e <<: f, Throw e <: f, Applicative f) => f a -> f () -> f a
+ Data.Effect.Except: pattern LThrow :: () => (a_af1P ~ a_af0l, ()) => e_af0k -> LiftIns (Throw e_af0k) f_af1O a_af1P
+ Data.Effect.Except: withExcept :: (Catch e <<: f, Throw e <: f, Applicative f) => f a -> (e -> f ()) -> f a
+ Data.Effect.KVStore: pattern LLookupKV :: () => (a_afCA ~ Maybe v_afAR, ()) => k_afAQ -> LiftIns (KVStore k_afAQ v_afAR) f_afCz a_afCA
+ Data.Effect.KVStore: pattern LUpdateKV :: () => (a_afCE ~ (), ()) => k_afBe -> Maybe v_afBf -> LiftIns (KVStore k_afBe v_afBf) f_afCD a_afCE
+ Data.Effect.Output: pattern LOutput :: () => (a_adUq ~ (), ()) => o_adTL -> LiftIns (Output o_adTL) f_adUp a_adUq
+ Data.Effect.State: pattern LPut :: () => (a_abkd ~ (), ()) => s_abjf -> LiftIns (State s_abjf) f_abkc a_abkd
+ Data.Effect.Writer: pattern LTell :: () => (a_aath ~ (), ()) => w_aajj -> LiftIns (Tell w_aajj) f_aatg a_aath
- Data.Effect.Accum: add :: forall (w_X0 :: Type) (f_ahsl :: Type) f_aht8. SendIns (Accum f_ahsl) f_aht8 => w_X0 -> f_aht8 ()
+ Data.Effect.Accum: add :: forall (w_X0 :: Type) (f_aj2v :: Type) f_aj3i. SendIns (Accum f_aj2v) f_aj3i => w_X0 -> f_aj3i ()
- Data.Effect.Accum: add' :: forall tag_ahta (w_X0 :: Type) (f_ahsl :: Type) f_ahtb. SendIns (Tag (Accum f_ahsl) tag_ahta) f_ahtb => w_X0 -> f_ahtb ()
+ Data.Effect.Accum: add' :: forall tag_aj3k (w_X0 :: Type) (f_aj2v :: Type) f_aj3l. SendIns (Tag (Accum f_aj2v) tag_aj3k) f_aj3l => w_X0 -> f_aj3l ()
- Data.Effect.Accum: add'' :: forall key_ahtd (w_X0 :: Type) (f_ahsl :: Type) f_ahte. SendInsBy key_ahtd (Accum f_ahsl) f_ahte => w_X0 -> f_ahte ()
+ Data.Effect.Accum: add'' :: forall key_aj3n (w_X0 :: Type) (f_aj2v :: Type) f_aj3o. SendInsBy key_aj3n (Accum f_aj2v) f_aj3o => w_X0 -> f_aj3o ()
- Data.Effect.Accum: look :: forall (w_ahsm :: Type) f_ahtg. SendIns (Accum w_ahsm) f_ahtg => f_ahtg w_ahsm
+ Data.Effect.Accum: look :: forall (w_aj2w :: Type) f_aj3q. SendIns (Accum w_aj2w) f_aj3q => f_aj3q w_aj2w
- Data.Effect.Accum: look' :: forall tag_ahth (w_ahsm :: Type) f_ahti. SendIns (Tag (Accum w_ahsm) tag_ahth) f_ahti => f_ahti w_ahsm
+ Data.Effect.Accum: look' :: forall tag_aj3r (w_aj2w :: Type) f_aj3s. SendIns (Tag (Accum w_aj2w) tag_aj3r) f_aj3s => f_aj3s w_aj2w
- Data.Effect.Accum: look'' :: forall key_ahtj (w_ahsm :: Type) f_ahtk. SendInsBy key_ahtj (Accum w_ahsm) f_ahtk => f_ahtk w_ahsm
+ Data.Effect.Accum: look'' :: forall key_aj3t (w_aj2w :: Type) f_aj3u. SendInsBy key_aj3t (Accum w_aj2w) f_aj3u => f_aj3u w_aj2w
- Data.Effect.Accum: pattern LLook :: () => a_ahtp ~ w_ahsm => LiftIns (Accum w_ahsm) f_ahto a_ahtp
+ Data.Effect.Accum: pattern LLook :: () => (a_aj3z ~ w_aj2w, ()) => LiftIns (Accum w_aj2w) f_aj3y a_aj3z
- Data.Effect.Accum: pattern LAdd :: () => a_ahtn ~ () => w_X0 -> LiftIns (Accum f_ahsl) f_ahtm a_ahtn
+ Data.Effect.Accum: pattern LAdd :: () => (a_aj3x ~ (), ()) => w_X0 -> LiftIns (Accum f_aj2v) f_aj3w a_aj3x
- Data.Effect.Accum: type LAccum w_ahsi = LiftIns (Accum w_ahsi)
+ Data.Effect.Accum: type LAccum w_aj2s = LiftIns (Accum w_aj2s)
- Data.Effect.Chronicle: absolve :: forall (a_agGJ :: Type) (c_agGL :: Type) f_agGK. SendSig (ChronicleH c_agGL) f_agGK => a_agGJ -> f_agGK a_agGJ -> f_agGK a_agGJ
+ Data.Effect.Chronicle: absolve :: forall (a_aigJ :: Type) (c_aigL :: Type) f_aigK. SendSig (ChronicleH c_aigL) f_aigK => a_aigJ -> f_aigK a_aigJ -> f_aigK a_aigJ
- Data.Effect.Chronicle: absolve' :: forall tag_agJN (a_agGJ :: Type) (c_agGL :: Type) f_agGK. SendSig (TagH (ChronicleH c_agGL) tag_agJN) f_agGK => a_agGJ -> f_agGK a_agGJ -> f_agGK a_agGJ
+ Data.Effect.Chronicle: absolve' :: forall tag_aijJ (a_aigJ :: Type) (c_aigL :: Type) f_aigK. SendSig (TagH (ChronicleH c_aigL) tag_aijJ) f_aigK => a_aigJ -> f_aigK a_aigJ -> f_aigK a_aigJ
- Data.Effect.Chronicle: absolve'' :: forall key_agJQ (a_agGJ :: Type) (c_agGL :: Type) f_agGK. SendSigBy key_agJQ (ChronicleH c_agGL) f_agGK => a_agGJ -> f_agGK a_agGJ -> f_agGK a_agGJ
+ Data.Effect.Chronicle: absolve'' :: forall key_aijM (a_aigJ :: Type) (c_aigL :: Type) f_aigK. SendSigBy key_aijM (ChronicleH c_aigL) f_aigK => a_aigJ -> f_aigK a_aigJ -> f_aigK a_aigJ
- Data.Effect.Chronicle: condemn :: forall (a_agGN :: Type) (c_agGO :: Type) f_agGM. SendSig (ChronicleH c_agGO) f_agGM => f_agGM a_agGN -> f_agGM a_agGN
+ Data.Effect.Chronicle: condemn :: forall (a_aigN :: Type) (c_aigO :: Type) f_aigM. SendSig (ChronicleH c_aigO) f_aigM => f_aigM a_aigN -> f_aigM a_aigN
- Data.Effect.Chronicle: condemn' :: forall tag_agJU (a_agGN :: Type) (c_agGO :: Type) f_agGM. SendSig (TagH (ChronicleH c_agGO) tag_agJU) f_agGM => f_agGM a_agGN -> f_agGM a_agGN
+ Data.Effect.Chronicle: condemn' :: forall tag_aijQ (a_aigN :: Type) (c_aigO :: Type) f_aigM. SendSig (TagH (ChronicleH c_aigO) tag_aijQ) f_aigM => f_aigM a_aigN -> f_aigM a_aigN
- Data.Effect.Chronicle: condemn'' :: forall key_agJW (a_agGN :: Type) (c_agGO :: Type) f_agGM. SendSigBy key_agJW (ChronicleH c_agGO) f_agGM => f_agGM a_agGN -> f_agGM a_agGN
+ Data.Effect.Chronicle: condemn'' :: forall key_aijS (a_aigN :: Type) (c_aigO :: Type) f_aigM. SendSigBy key_aijS (ChronicleH c_aigO) f_aigM => f_aigM a_aigN -> f_aigM a_aigN
- Data.Effect.Chronicle: confess :: forall (c_agGS :: Type) (a_agGT :: Type) f_agJk. SendIns (ChronicleF c_agGS) f_agJk => c_agGS -> f_agJk a_agGT
+ Data.Effect.Chronicle: confess :: forall (c_aigS :: Type) (a_aigT :: Type) f_aijg. SendIns (ChronicleF c_aigS) f_aijg => c_aigS -> f_aijg a_aigT
- Data.Effect.Chronicle: confess' :: forall tag_agJm (c_agGS :: Type) (a_agGT :: Type) f_agJn. SendIns (Tag (ChronicleF c_agGS) tag_agJm) f_agJn => c_agGS -> f_agJn a_agGT
+ Data.Effect.Chronicle: confess' :: forall tag_aiji (c_aigS :: Type) (a_aigT :: Type) f_aijj. SendIns (Tag (ChronicleF c_aigS) tag_aiji) f_aijj => c_aigS -> f_aijj a_aigT
- Data.Effect.Chronicle: confess'' :: forall key_agJp (c_agGS :: Type) (a_agGT :: Type) f_agJq. SendInsBy key_agJp (ChronicleF c_agGS) f_agJq => c_agGS -> f_agJq a_agGT
+ Data.Effect.Chronicle: confess'' :: forall key_aijl (c_aigS :: Type) (a_aigT :: Type) f_aijm. SendInsBy key_aijl (ChronicleF c_aigS) f_aijm => c_aigS -> f_aijm a_aigT
- Data.Effect.Chronicle: dictate :: forall (c_agGR :: Type) f_agJc. SendIns (ChronicleF c_agGR) f_agJc => c_agGR -> f_agJc ()
+ Data.Effect.Chronicle: dictate :: forall (c_aigR :: Type) f_aij8. SendIns (ChronicleF c_aigR) f_aij8 => c_aigR -> f_aij8 ()
- Data.Effect.Chronicle: dictate' :: forall tag_agJe (c_agGR :: Type) f_agJf. SendIns (Tag (ChronicleF c_agGR) tag_agJe) f_agJf => c_agGR -> f_agJf ()
+ Data.Effect.Chronicle: dictate' :: forall tag_aija (c_aigR :: Type) f_aijb. SendIns (Tag (ChronicleF c_aigR) tag_aija) f_aijb => c_aigR -> f_aijb ()
- Data.Effect.Chronicle: dictate'' :: forall key_agJh (c_agGR :: Type) f_agJi. SendInsBy key_agJh (ChronicleF c_agGR) f_agJi => c_agGR -> f_agJi ()
+ Data.Effect.Chronicle: dictate'' :: forall key_aijd (c_aigR :: Type) f_aije. SendInsBy key_aijd (ChronicleF c_aigR) f_aije => c_aigR -> f_aije ()
- Data.Effect.Chronicle: memento :: forall (a_X0 :: Type) (c_agFS :: Type) f_agFQ. SendSig (ChronicleH c_agFS) f_agFQ => f_agFQ a_X0 -> f_agFQ (Either c_agFS a_X0)
+ Data.Effect.Chronicle: memento :: forall (a_X0 :: Type) (c_aigI :: Type) f_aigG. SendSig (ChronicleH c_aigI) f_aigG => f_aigG a_X0 -> f_aigG (Either c_aigI a_X0)
- Data.Effect.Chronicle: memento' :: forall tag_agJH (a_X0 :: Type) (c_agFS :: Type) f_agFQ. SendSig (TagH (ChronicleH c_agFS) tag_agJH) f_agFQ => f_agFQ a_X0 -> f_agFQ (Either c_agFS a_X0)
+ Data.Effect.Chronicle: memento' :: forall tag_aijD (a_X0 :: Type) (c_aigI :: Type) f_aigG. SendSig (TagH (ChronicleH c_aigI) tag_aijD) f_aigG => f_aigG a_X0 -> f_aigG (Either c_aigI a_X0)
- Data.Effect.Chronicle: memento'' :: forall key_agJJ (a_X0 :: Type) (c_agFS :: Type) f_agFQ. SendSigBy key_agJJ (ChronicleH c_agFS) f_agFQ => f_agFQ a_X0 -> f_agFQ (Either c_agFS a_X0)
+ Data.Effect.Chronicle: memento'' :: forall key_aijF (a_X0 :: Type) (c_aigI :: Type) f_aigG. SendSigBy key_aijF (ChronicleH c_aigI) f_aigG => f_aigG a_X0 -> f_aigG (Either c_aigI a_X0)
- Data.Effect.Chronicle: type LChronicleF c_agGP = LiftIns (ChronicleF c_agGP)
+ Data.Effect.Chronicle: type LChronicleF c_aigP = LiftIns (ChronicleF c_aigP)
- Data.Effect.Concurrent.Thread: forkThread :: forall (tid_agrf :: Type) f_agre. SendSigBy ThreadKey (Thread' tid_agrf) f_agre => f_agre () -> f_agre tid_agrf
+ Data.Effect.Concurrent.Thread: forkThread :: forall (tid_ai27 :: Type) f_ai26. SendSigBy ThreadKey (Thread' tid_ai27) f_ai26 => f_ai26 () -> f_ai26 tid_ai27
- Data.Effect.Concurrent.Thread: forkThread' :: forall tag_agrW (tid_agrf :: Type) f_agre. SendSig (TagH (Thread' tid_agrf) tag_agrW) f_agre => f_agre () -> f_agre tid_agrf
+ Data.Effect.Concurrent.Thread: forkThread' :: forall tag_ai2O (tid_ai27 :: Type) f_ai26. SendSig (TagH (Thread' tid_ai27) tag_ai2O) f_ai26 => f_ai26 () -> f_ai26 tid_ai27
- Data.Effect.Concurrent.Thread: forkThread'' :: forall key_agrY (tid_agrf :: Type) f_agre. SendSigBy key_agrY (Thread' tid_agrf) f_agre => f_agre () -> f_agre tid_agrf
+ Data.Effect.Concurrent.Thread: forkThread'' :: forall key_ai2Q (tid_ai27 :: Type) f_ai26. SendSigBy key_ai2Q (Thread' tid_ai27) f_ai26 => f_ai26 () -> f_ai26 tid_ai27
- Data.Effect.Concurrent.Thread: forkThread'_ :: forall (tid_agrf :: Type) f_agre. SendSig (Thread' tid_agrf) f_agre => f_agre () -> f_agre tid_agrf
+ Data.Effect.Concurrent.Thread: forkThread'_ :: forall (tid_ai27 :: Type) f_ai26. SendSig (Thread' tid_ai27) f_ai26 => f_ai26 () -> f_ai26 tid_ai27
- Data.Effect.Concurrent.Thread: type Thread tid_agrb = (##>) ThreadKey (Thread' tid_agrb)
+ Data.Effect.Concurrent.Thread: type Thread tid_ai23 = (##>) ThreadKey (Thread' tid_ai23)
- Data.Effect.Cont: callCC :: forall (a_agjr :: Type) m_agjs. SendSig CallCC m_agjs => (forall (r_agjt :: Type). (a_agjr -> m_agjs r_agjt) -> m_agjs a_agjr) -> m_agjs a_agjr
+ Data.Effect.Cont: callCC :: forall (a_agJ9 :: Type) m_agJa. SendSig CallCC m_agJa => (forall (r_agJb :: Type). (a_agJ9 -> m_agJa r_agJb) -> m_agJa a_agJ9) -> m_agJa a_agJ9
- Data.Effect.Cont: callCC' :: forall tag_agkP (a_agjr :: Type) m_agjs. SendSig (TagH CallCC tag_agkP) m_agjs => (forall (r_agjt :: Type). (a_agjr -> m_agjs r_agjt) -> m_agjs a_agjr) -> m_agjs a_agjr
+ Data.Effect.Cont: callCC' :: forall tag_agKx (a_agJ9 :: Type) m_agJa. SendSig (TagH CallCC tag_agKx) m_agJa => (forall (r_agJb :: Type). (a_agJ9 -> m_agJa r_agJb) -> m_agJa a_agJ9) -> m_agJa a_agJ9
- Data.Effect.Cont: callCC'' :: forall key_agkR (a_agjr :: Type) m_agjs. SendSigBy key_agkR CallCC m_agjs => (forall (r_agjt :: Type). (a_agjr -> m_agjs r_agjt) -> m_agjs a_agjr) -> m_agjs a_agjr
+ Data.Effect.Cont: callCC'' :: forall key_agKz (a_agJ9 :: Type) m_agJa. SendSigBy key_agKz CallCC m_agJa => (forall (r_agJb :: Type). (a_agJ9 -> m_agJa r_agJb) -> m_agJa a_agJ9) -> m_agJa a_agJ9
- Data.Effect.Coroutine: type LYield a_afLm b_afLn = LiftIns (Yield a_afLm b_afLn)
+ Data.Effect.Coroutine: type LYield a_agaW b_agaX = LiftIns (Yield a_agaW b_agaX)
- Data.Effect.Coroutine: yield :: forall (a_afLp :: Type) (b_afLq :: Type) f_afM3. SendIns (Yield a_afLp b_afLq) f_afM3 => a_afLp -> f_afM3 b_afLq
+ Data.Effect.Coroutine: yield :: forall (a_agaZ :: Type) (b_agb0 :: Type) f_agbD. SendIns (Yield a_agaZ b_agb0) f_agbD => a_agaZ -> f_agbD b_agb0
- Data.Effect.Coroutine: yield' :: forall tag_afM5 (a_afLp :: Type) (b_afLq :: Type) f_afM6. SendIns (Tag (Yield a_afLp b_afLq) tag_afM5) f_afM6 => a_afLp -> f_afM6 b_afLq
+ Data.Effect.Coroutine: yield' :: forall tag_agbF (a_agaZ :: Type) (b_agb0 :: Type) f_agbG. SendIns (Tag (Yield a_agaZ b_agb0) tag_agbF) f_agbG => a_agaZ -> f_agbG b_agb0
- Data.Effect.Coroutine: yield'' :: forall key_afM8 (a_afLp :: Type) (b_afLq :: Type) f_afM9. SendInsBy key_afM8 (Yield a_afLp b_afLq) f_afM9 => a_afLp -> f_afM9 b_afLq
+ Data.Effect.Coroutine: yield'' :: forall key_agbI (a_agaZ :: Type) (b_agb0 :: Type) f_agbJ. SendInsBy key_agbI (Yield a_agaZ b_agb0) f_agbJ => a_agaZ -> f_agbJ b_agb0
- Data.Effect.Except: catch :: forall (a_aeRw :: Type) (e_aeRx :: Type) f_aeRv. SendSig (Catch e_aeRx) f_aeRv => f_aeRv a_aeRw -> (e_aeRx -> f_aeRv a_aeRw) -> f_aeRv a_aeRw
+ Data.Effect.Except: catch :: forall (a_af0g :: Type) (e_af0h :: Type) f_af0f. SendSig (Catch e_af0h) f_af0f => f_af0f a_af0g -> (e_af0h -> f_af0f a_af0g) -> f_af0f a_af0g
- Data.Effect.Except: catch' :: forall tag_aeTb (a_aeRw :: Type) (e_aeRx :: Type) f_aeRv. SendSig (TagH (Catch e_aeRx) tag_aeTb) f_aeRv => f_aeRv a_aeRw -> (e_aeRx -> f_aeRv a_aeRw) -> f_aeRv a_aeRw
+ Data.Effect.Except: catch' :: forall tag_af1V (a_af0g :: Type) (e_af0h :: Type) f_af0f. SendSig (TagH (Catch e_af0h) tag_af1V) f_af0f => f_af0f a_af0g -> (e_af0h -> f_af0f a_af0g) -> f_af0f a_af0g
- Data.Effect.Except: catch'' :: forall key_aeTe (a_aeRw :: Type) (e_aeRx :: Type) f_aeRv. SendSigBy key_aeTe (Catch e_aeRx) f_aeRv => f_aeRv a_aeRw -> (e_aeRx -> f_aeRv a_aeRw) -> f_aeRv a_aeRw
+ Data.Effect.Except: catch'' :: forall key_af1Y (a_af0g :: Type) (e_af0h :: Type) f_af0f. SendSigBy key_af1Y (Catch e_af0h) f_af0f => f_af0f a_af0g -> (e_af0h -> f_af0f a_af0g) -> f_af0f a_af0g
- Data.Effect.Except: throw :: forall (e_aeRA :: Type) (a_aeRB :: Type) f_aeSV. SendIns (Throw e_aeRA) f_aeSV => e_aeRA -> f_aeSV a_aeRB
+ Data.Effect.Except: throw :: forall (e_af0k :: Type) (a_af0l :: Type) f_af1F. SendIns (Throw e_af0k) f_af1F => e_af0k -> f_af1F a_af0l
- Data.Effect.Except: throw' :: forall tag_aeSX (e_aeRA :: Type) (a_aeRB :: Type) f_aeSY. SendIns (Tag (Throw e_aeRA) tag_aeSX) f_aeSY => e_aeRA -> f_aeSY a_aeRB
+ Data.Effect.Except: throw' :: forall tag_af1H (e_af0k :: Type) (a_af0l :: Type) f_af1I. SendIns (Tag (Throw e_af0k) tag_af1H) f_af1I => e_af0k -> f_af1I a_af0l
- Data.Effect.Except: throw'' :: forall key_aeT0 (e_aeRA :: Type) (a_aeRB :: Type) f_aeT1. SendInsBy key_aeT0 (Throw e_aeRA) f_aeT1 => e_aeRA -> f_aeT1 a_aeRB
+ Data.Effect.Except: throw'' :: forall key_af1K (e_af0k :: Type) (a_af0l :: Type) f_af1L. SendInsBy key_af1K (Throw e_af0k) f_af1L => e_af0k -> f_af1L a_af0l
- Data.Effect.Except: type LThrow e_aeRy = LiftIns (Throw e_aeRy)
+ Data.Effect.Except: type LThrow e_af0i = LiftIns (Throw e_af0i)
- Data.Effect.Fail: fail :: forall (a_aeIp :: Type) f_aeIT. SendIns Fail f_aeIT => String -> f_aeIT a_aeIp
+ Data.Effect.Fail: fail :: forall (a_aeR2 :: Type) f_aeRw. SendIns Fail f_aeRw => String -> f_aeRw a_aeR2
- Data.Effect.Fail: fail' :: forall tag_aeIV (a_aeIp :: Type) f_aeIW. SendIns (Tag Fail tag_aeIV) f_aeIW => String -> f_aeIW a_aeIp
+ Data.Effect.Fail: fail' :: forall tag_aeRy (a_aeR2 :: Type) f_aeRz. SendIns (Tag Fail tag_aeRy) f_aeRz => String -> f_aeRz a_aeR2
- Data.Effect.Fail: fail'' :: forall key_aeIY (a_aeIp :: Type) f_aeIZ. SendInsBy key_aeIY Fail f_aeIZ => String -> f_aeIZ a_aeIp
+ Data.Effect.Fail: fail'' :: forall key_aeRB (a_aeR2 :: Type) f_aeRC. SendInsBy key_aeRB Fail f_aeRC => String -> f_aeRC a_aeR2
- Data.Effect.Fail: pattern LFail :: () => a_aeJ3 ~ a_aeIp => String -> LiftIns Fail f_aeJ2 a_aeJ3
+ Data.Effect.Fail: pattern LFail :: () => (a_aeRG ~ a_aeR2, ()) => String -> LiftIns Fail f_aeRF a_aeRG
- Data.Effect.Fix: mfix :: forall (a_aeza :: Type) f_aezb. SendSig Fix f_aezb => (a_aeza -> f_aezb a_aeza) -> f_aezb a_aeza
+ Data.Effect.Fix: mfix :: forall (a_aeHN :: Type) f_aeHO. SendSig Fix f_aeHO => (a_aeHN -> f_aeHO a_aeHN) -> f_aeHO a_aeHN
- Data.Effect.Fix: mfix' :: forall tag_aezT (a_aeza :: Type) f_aezb. SendSig (TagH Fix tag_aezT) f_aezb => (a_aeza -> f_aezb a_aeza) -> f_aezb a_aeza
+ Data.Effect.Fix: mfix' :: forall tag_aeIw (a_aeHN :: Type) f_aeHO. SendSig (TagH Fix tag_aeIw) f_aeHO => (a_aeHN -> f_aeHO a_aeHN) -> f_aeHO a_aeHN
- Data.Effect.Fix: mfix'' :: forall key_aezV (a_aeza :: Type) f_aezb. SendSigBy key_aezV Fix f_aezb => (a_aeza -> f_aezb a_aeza) -> f_aezb a_aeza
+ Data.Effect.Fix: mfix'' :: forall key_aeIy (a_aeHN :: Type) f_aeHO. SendSigBy key_aeIy Fix f_aeHO => (a_aeHN -> f_aeHO a_aeHN) -> f_aeHO a_aeHN
- Data.Effect.Fresh: fresh :: forall (i_aerv :: Type) f_aerY. SendIns (Fresh i_aerv) f_aerY => f_aerY i_aerv
+ Data.Effect.Fresh: fresh :: forall (i_aeA1 :: Type) f_aeAu. SendIns (Fresh i_aeA1) f_aeAu => f_aeAu i_aeA1
- Data.Effect.Fresh: fresh' :: forall tag_aerZ (i_aerv :: Type) f_aes0. SendIns (Tag (Fresh i_aerv) tag_aerZ) f_aes0 => f_aes0 i_aerv
+ Data.Effect.Fresh: fresh' :: forall tag_aeAv (i_aeA1 :: Type) f_aeAw. SendIns (Tag (Fresh i_aeA1) tag_aeAv) f_aeAw => f_aeAw i_aeA1
- Data.Effect.Fresh: fresh'' :: forall key_aes1 (i_aerv :: Type) f_aes2. SendInsBy key_aes1 (Fresh i_aerv) f_aes2 => f_aes2 i_aerv
+ Data.Effect.Fresh: fresh'' :: forall key_aeAx (i_aeA1 :: Type) f_aeAy. SendInsBy key_aeAx (Fresh i_aeA1) f_aeAy => f_aeAy i_aeA1
- Data.Effect.Fresh: pattern LFresh :: () => a_aes4 ~ i_aerv => LiftIns (Fresh i_aerv) f_aes3 a_aes4
+ Data.Effect.Fresh: pattern LFresh :: () => (a_aeAA ~ i_aeA1, ()) => LiftIns (Fresh i_aeA1) f_aeAz a_aeAA
- Data.Effect.Fresh: type LFresh i_aert = LiftIns (Fresh i_aert)
+ Data.Effect.Fresh: type LFresh i_aezZ = LiftIns (Fresh i_aezZ)
- Data.Effect.Input: input :: forall (i_aeih :: Type) f_aeiK. SendIns (Input i_aeih) f_aeiK => f_aeiK i_aeih
+ Data.Effect.Input: input :: forall (i_aeqG :: Type) f_aer9. SendIns (Input i_aeqG) f_aer9 => f_aer9 i_aeqG
- Data.Effect.Input: input' :: forall tag_aeiL (i_aeih :: Type) f_aeiM. SendIns (Tag (Input i_aeih) tag_aeiL) f_aeiM => f_aeiM i_aeih
+ Data.Effect.Input: input' :: forall tag_aera (i_aeqG :: Type) f_aerb. SendIns (Tag (Input i_aeqG) tag_aera) f_aerb => f_aerb i_aeqG
- Data.Effect.Input: input'' :: forall key_aeiN (i_aeih :: Type) f_aeiO. SendInsBy key_aeiN (Input i_aeih) f_aeiO => f_aeiO i_aeih
+ Data.Effect.Input: input'' :: forall key_aerc (i_aeqG :: Type) f_aerd. SendInsBy key_aerc (Input i_aeqG) f_aerd => f_aerd i_aeqG
- Data.Effect.Input: pattern LInput :: () => a_aeiQ ~ i_aeih => LiftIns (Input i_aeih) f_aeiP a_aeiQ
+ Data.Effect.Input: pattern LInput :: () => (a_aerf ~ i_aeqG, ()) => LiftIns (Input i_aeqG) f_aere a_aerf
- Data.Effect.Input: type LInput i_aeif = LiftIns (Input i_aeif)
+ Data.Effect.Input: type LInput i_aeqE = LiftIns (Input i_aeqE)
- Data.Effect.KVStore: lookupKV :: forall (k_afbu :: Type) (v_afbv :: Type) f_afcT. SendIns (KVStore k_afbu v_afbv) f_afcT => k_afbu -> f_afcT (Maybe v_afbv)
+ Data.Effect.KVStore: lookupKV :: forall (k_afAQ :: Type) (v_afAR :: Type) f_afCf. SendIns (KVStore k_afAQ v_afAR) f_afCf => k_afAQ -> f_afCf (Maybe v_afAR)
- Data.Effect.KVStore: lookupKV' :: forall tag_afcV (k_afbu :: Type) (v_afbv :: Type) f_afcW. SendIns (Tag (KVStore k_afbu v_afbv) tag_afcV) f_afcW => k_afbu -> f_afcW (Maybe v_afbv)
+ Data.Effect.KVStore: lookupKV' :: forall tag_afCh (k_afAQ :: Type) (v_afAR :: Type) f_afCi. SendIns (Tag (KVStore k_afAQ v_afAR) tag_afCh) f_afCi => k_afAQ -> f_afCi (Maybe v_afAR)
- Data.Effect.KVStore: lookupKV'' :: forall key_afcY (k_afbu :: Type) (v_afbv :: Type) f_afcZ. SendInsBy key_afcY (KVStore k_afbu v_afbv) f_afcZ => k_afbu -> f_afcZ (Maybe v_afbv)
+ Data.Effect.KVStore: lookupKV'' :: forall key_afCk (k_afAQ :: Type) (v_afAR :: Type) f_afCl. SendInsBy key_afCk (KVStore k_afAQ v_afAR) f_afCl => k_afAQ -> f_afCl (Maybe v_afAR)
- Data.Effect.KVStore: type LKVStore k_afbr v_afbs = LiftIns (KVStore k_afbr v_afbs)
+ Data.Effect.KVStore: type LKVStore k_afAN v_afAO = LiftIns (KVStore k_afAN v_afAO)
- Data.Effect.KVStore: updateKV :: forall (k_afbS :: Type) (v_afbT :: Type) f_afd1. SendIns (KVStore k_afbS v_afbT) f_afd1 => k_afbS -> Maybe v_afbT -> f_afd1 ()
+ Data.Effect.KVStore: updateKV :: forall (k_afBe :: Type) (v_afBf :: Type) f_afCn. SendIns (KVStore k_afBe v_afBf) f_afCn => k_afBe -> Maybe v_afBf -> f_afCn ()
- Data.Effect.KVStore: updateKV' :: forall tag_afd4 (k_afbS :: Type) (v_afbT :: Type) f_afd5. SendIns (Tag (KVStore k_afbS v_afbT) tag_afd4) f_afd5 => k_afbS -> Maybe v_afbT -> f_afd5 ()
+ Data.Effect.KVStore: updateKV' :: forall tag_afCq (k_afBe :: Type) (v_afBf :: Type) f_afCr. SendIns (Tag (KVStore k_afBe v_afBf) tag_afCq) f_afCr => k_afBe -> Maybe v_afBf -> f_afCr ()
- Data.Effect.KVStore: updateKV'' :: forall key_afd8 (k_afbS :: Type) (v_afbT :: Type) f_afd9. SendInsBy key_afd8 (KVStore k_afbS v_afbT) f_afd9 => k_afbS -> Maybe v_afbT -> f_afd9 ()
+ Data.Effect.KVStore: updateKV'' :: forall key_afCu (k_afBe :: Type) (v_afBf :: Type) f_afCv. SendInsBy key_afCu (KVStore k_afBe v_afBf) f_afCv => k_afBe -> Maybe v_afBf -> f_afCv ()
- Data.Effect.NonDet: choose :: forall f_adZL. SendIns Choose f_adZL => f_adZL Bool
+ Data.Effect.NonDet: choose :: forall f_ae80. SendIns Choose f_ae80 => f_ae80 Bool
- Data.Effect.NonDet: choose' :: forall tag_adZM f_adZN. SendIns (Tag Choose tag_adZM) f_adZN => f_adZN Bool
+ Data.Effect.NonDet: choose' :: forall tag_ae81 f_ae82. SendIns (Tag Choose tag_ae81) f_ae82 => f_ae82 Bool
- Data.Effect.NonDet: choose'' :: forall key_adZO f_adZP. SendInsBy key_adZO Choose f_adZP => f_adZP Bool
+ Data.Effect.NonDet: choose'' :: forall key_ae83 f_ae84. SendInsBy key_ae83 Choose f_ae84 => f_ae84 Bool
- Data.Effect.NonDet: chooseH :: forall (a_ae02 :: Type) f_ae01. SendSig ChooseH f_ae01 => f_ae01 a_ae02 -> f_ae01 a_ae02 -> f_ae01 a_ae02
+ Data.Effect.NonDet: chooseH :: forall (a_ae8h :: Type) f_ae8g. SendSig ChooseH f_ae8g => f_ae8g a_ae8h -> f_ae8g a_ae8h -> f_ae8g a_ae8h
- Data.Effect.NonDet: chooseH' :: forall tag_ae3g (a_ae02 :: Type) f_ae01. SendSig (TagH ChooseH tag_ae3g) f_ae01 => f_ae01 a_ae02 -> f_ae01 a_ae02 -> f_ae01 a_ae02
+ Data.Effect.NonDet: chooseH' :: forall tag_aebz (a_ae8h :: Type) f_ae8g. SendSig (TagH ChooseH tag_aebz) f_ae8g => f_ae8g a_ae8h -> f_ae8g a_ae8h -> f_ae8g a_ae8h
- Data.Effect.NonDet: chooseH'' :: forall key_ae3j (a_ae02 :: Type) f_ae01. SendSigBy key_ae3j ChooseH f_ae01 => f_ae01 a_ae02 -> f_ae01 a_ae02 -> f_ae01 a_ae02
+ Data.Effect.NonDet: chooseH'' :: forall key_aebC (a_ae8h :: Type) f_ae8g. SendSigBy key_aebC ChooseH f_ae8g => f_ae8g a_ae8h -> f_ae8g a_ae8h -> f_ae8g a_ae8h
- Data.Effect.NonDet: empty :: forall (a_adVS :: Type) f_adWk. SendIns Empty f_adWk => f_adWk a_adVS
+ Data.Effect.NonDet: empty :: forall (a_ae43 :: Type) f_ae4v. SendIns Empty f_ae4v => f_ae4v a_ae43
- Data.Effect.NonDet: empty' :: forall tag_adWl (a_adVS :: Type) f_adWm. SendIns (Tag Empty tag_adWl) f_adWm => f_adWm a_adVS
+ Data.Effect.NonDet: empty' :: forall tag_ae4w (a_ae43 :: Type) f_ae4x. SendIns (Tag Empty tag_ae4w) f_ae4x => f_ae4x a_ae43
- Data.Effect.NonDet: empty'' :: forall key_adWn (a_adVS :: Type) f_adWo. SendInsBy key_adWn Empty f_adWo => f_adWo a_adVS
+ Data.Effect.NonDet: empty'' :: forall key_ae4y (a_ae43 :: Type) f_ae4z. SendInsBy key_ae4y Empty f_ae4z => f_ae4z a_ae43
- Data.Effect.NonDet: pattern LChoose :: () => a_adZR ~ Bool => LiftIns Choose f_adZQ a_adZR
+ Data.Effect.NonDet: pattern LChoose :: () => (a_ae86 ~ Bool, ()) => LiftIns Choose f_ae85 a_ae86
- Data.Effect.Output: output :: forall (o_adLH :: Type) f_adMc. SendIns (Output o_adLH) f_adMc => o_adLH -> f_adMc ()
+ Data.Effect.Output: output :: forall (o_adTL :: Type) f_adUg. SendIns (Output o_adTL) f_adUg => o_adTL -> f_adUg ()
- Data.Effect.Output: output' :: forall tag_adMe (o_adLH :: Type) f_adMf. SendIns (Tag (Output o_adLH) tag_adMe) f_adMf => o_adLH -> f_adMf ()
+ Data.Effect.Output: output' :: forall tag_adUi (o_adTL :: Type) f_adUj. SendIns (Tag (Output o_adTL) tag_adUi) f_adUj => o_adTL -> f_adUj ()
- Data.Effect.Output: output'' :: forall key_adMh (o_adLH :: Type) f_adMi. SendInsBy key_adMh (Output o_adLH) f_adMi => o_adLH -> f_adMi ()
+ Data.Effect.Output: output'' :: forall key_adUl (o_adTL :: Type) f_adUm. SendInsBy key_adUl (Output o_adTL) f_adUm => o_adTL -> f_adUm ()
- Data.Effect.Output: type LOutput o_adLF = LiftIns (Output o_adLF)
+ Data.Effect.Output: type LOutput o_adTJ = LiftIns (Output o_adTJ)
- Data.Effect.Provider: provide :: forall (i_adpQ :: Type) (c_adpR :: (Type -> Type) -> Constraint) (e_adpS :: (Type -> Type) -> Constraint) (a_X0 :: Type) (ctx_adpV :: Type -> Type) f_adpT. SendSigBy ProviderKey (Provider' c_adpR i_adpQ ctx_adpV e_adpS) f_adpT => i_adpQ -> (forall (g_adpW :: Type -> Type). (c_adpR g_adpW, e_adpS g_adpW) => (forall (x_adpX :: Type). f_adpT x_adpX -> g_adpW x_adpX) -> g_adpW a_X0) -> f_adpT (ctx_adpV a_X0)
+ Data.Effect.Provider: provide :: forall (i_adxU :: Type) (c_adxV :: (Type -> Type) -> Constraint) (e_adxW :: (Type -> Type) -> Constraint) (a_X0 :: Type) (ctx_adxZ :: Type -> Type) f_adxX. SendSigBy ProviderKey (Provider' c_adxV i_adxU ctx_adxZ e_adxW) f_adxX => i_adxU -> (forall (g_ady0 :: Type -> Type). (c_adxV g_ady0, e_adxW g_ady0) => (forall (x_ady1 :: Type). f_adxX x_ady1 -> g_ady0 x_ady1) -> g_ady0 a_X0) -> f_adxX (ctx_adxZ a_X0)
- Data.Effect.Provider: provide' :: forall tag_ads5 (i_adpQ :: Type) (c_adpR :: (Type -> Type) -> Constraint) (e_adpS :: (Type -> Type) -> Constraint) (a_X0 :: Type) (ctx_adpV :: Type -> Type) f_adpT. SendSig (TagH (Provider' c_adpR i_adpQ ctx_adpV e_adpS) tag_ads5) f_adpT => i_adpQ -> (forall (g_adpW :: Type -> Type). (c_adpR g_adpW, e_adpS g_adpW) => (forall (x_adpX :: Type). f_adpT x_adpX -> g_adpW x_adpX) -> g_adpW a_X0) -> f_adpT (ctx_adpV a_X0)
+ Data.Effect.Provider: provide' :: forall tag_adA9 (i_adxU :: Type) (c_adxV :: (Type -> Type) -> Constraint) (e_adxW :: (Type -> Type) -> Constraint) (a_X0 :: Type) (ctx_adxZ :: Type -> Type) f_adxX. SendSig (TagH (Provider' c_adxV i_adxU ctx_adxZ e_adxW) tag_adA9) f_adxX => i_adxU -> (forall (g_ady0 :: Type -> Type). (c_adxV g_ady0, e_adxW g_ady0) => (forall (x_ady1 :: Type). f_adxX x_ady1 -> g_ady0 x_ady1) -> g_ady0 a_X0) -> f_adxX (ctx_adxZ a_X0)
- Data.Effect.Provider: provide'' :: forall key_ads8 (i_adpQ :: Type) (c_adpR :: (Type -> Type) -> Constraint) (e_adpS :: (Type -> Type) -> Constraint) (a_X0 :: Type) (ctx_adpV :: Type -> Type) f_adpT. SendSigBy key_ads8 (Provider' c_adpR i_adpQ ctx_adpV e_adpS) f_adpT => i_adpQ -> (forall (g_adpW :: Type -> Type). (c_adpR g_adpW, e_adpS g_adpW) => (forall (x_adpX :: Type). f_adpT x_adpX -> g_adpW x_adpX) -> g_adpW a_X0) -> f_adpT (ctx_adpV a_X0)
+ Data.Effect.Provider: provide'' :: forall key_adAc (i_adxU :: Type) (c_adxV :: (Type -> Type) -> Constraint) (e_adxW :: (Type -> Type) -> Constraint) (a_X0 :: Type) (ctx_adxZ :: Type -> Type) f_adxX. SendSigBy key_adAc (Provider' c_adxV i_adxU ctx_adxZ e_adxW) f_adxX => i_adxU -> (forall (g_ady0 :: Type -> Type). (c_adxV g_ady0, e_adxW g_ady0) => (forall (x_ady1 :: Type). f_adxX x_ady1 -> g_ady0 x_ady1) -> g_ady0 a_X0) -> f_adxX (ctx_adxZ a_X0)
- Data.Effect.Provider: provide'_ :: forall (i_adpQ :: Type) (c_adpR :: (Type -> Type) -> Constraint) (e_adpS :: (Type -> Type) -> Constraint) (a_X0 :: Type) (ctx_adpV :: Type -> Type) f_adpT. SendSig (Provider' c_adpR i_adpQ ctx_adpV e_adpS) f_adpT => i_adpQ -> (forall (g_adpW :: Type -> Type). (c_adpR g_adpW, e_adpS g_adpW) => (forall (x_adpX :: Type). f_adpT x_adpX -> g_adpW x_adpX) -> g_adpW a_X0) -> f_adpT (ctx_adpV a_X0)
+ Data.Effect.Provider: provide'_ :: forall (i_adxU :: Type) (c_adxV :: (Type -> Type) -> Constraint) (e_adxW :: (Type -> Type) -> Constraint) (a_X0 :: Type) (ctx_adxZ :: Type -> Type) f_adxX. SendSig (Provider' c_adxV i_adxU ctx_adxZ e_adxW) f_adxX => i_adxU -> (forall (g_ady0 :: Type -> Type). (c_adxV g_ady0, e_adxW g_ady0) => (forall (x_ady1 :: Type). f_adxX x_ady1 -> g_ady0 x_ady1) -> g_ady0 a_X0) -> f_adxX (ctx_adxZ a_X0)
- Data.Effect.Provider: type Provider c_adpK i_adpL ctx_adpM e_adpN = (##>) ProviderKey (Provider' c_adpK i_adpL ctx_adpM e_adpN)
+ Data.Effect.Provider: type Provider c_adxO i_adxP ctx_adxQ e_adxR = (##>) ProviderKey (Provider' c_adxO i_adxP ctx_adxQ e_adxR)
- Data.Effect.Provider.Implicit: type ImplicitProvider c_ad4V i_ad4W e_ad4X = (##>) ImplicitProviderKey (ImplicitProvider' c_ad4V i_ad4W e_ad4X)
+ Data.Effect.Provider.Implicit: type ImplicitProvider c_adcZ i_add0 e_add1 = (##>) ImplicitProviderKey (ImplicitProvider' c_adcZ i_add0 e_add1)
- Data.Effect.Provider.Implicit: withImplicit :: forall (i_ad50 :: Type) (c_ad51 :: (Type -> Type) -> Constraint) (e_ad52 :: (Type -> Type) -> Constraint) (a_ad54 :: Type) f_ad53. SendSigBy ImplicitProviderKey (ImplicitProvider' c_ad51 i_ad50 e_ad52) f_ad53 => i_ad50 -> (forall (g_ad55 :: Type -> Type). (c_ad51 g_ad55, e_ad52 g_ad55) => (forall (x_ad56 :: Type). f_ad53 x_ad56 -> g_ad55 x_ad56) -> g_ad55 a_ad54) -> f_ad53 a_ad54
+ Data.Effect.Provider.Implicit: withImplicit :: forall (i_add4 :: Type) (c_add5 :: (Type -> Type) -> Constraint) (e_add6 :: (Type -> Type) -> Constraint) (a_add8 :: Type) f_add7. SendSigBy ImplicitProviderKey (ImplicitProvider' c_add5 i_add4 e_add6) f_add7 => i_add4 -> (forall (g_add9 :: Type -> Type). (c_add5 g_add9, e_add6 g_add9) => (forall (x_adda :: Type). f_add7 x_adda -> g_add9 x_adda) -> g_add9 a_add8) -> f_add7 a_add8
- Data.Effect.Provider.Implicit: withImplicit' :: forall tag_ad75 (i_ad50 :: Type) (c_ad51 :: (Type -> Type) -> Constraint) (e_ad52 :: (Type -> Type) -> Constraint) (a_ad54 :: Type) f_ad53. SendSig (TagH (ImplicitProvider' c_ad51 i_ad50 e_ad52) tag_ad75) f_ad53 => i_ad50 -> (forall (g_ad55 :: Type -> Type). (c_ad51 g_ad55, e_ad52 g_ad55) => (forall (x_ad56 :: Type). f_ad53 x_ad56 -> g_ad55 x_ad56) -> g_ad55 a_ad54) -> f_ad53 a_ad54
+ Data.Effect.Provider.Implicit: withImplicit' :: forall tag_adf9 (i_add4 :: Type) (c_add5 :: (Type -> Type) -> Constraint) (e_add6 :: (Type -> Type) -> Constraint) (a_add8 :: Type) f_add7. SendSig (TagH (ImplicitProvider' c_add5 i_add4 e_add6) tag_adf9) f_add7 => i_add4 -> (forall (g_add9 :: Type -> Type). (c_add5 g_add9, e_add6 g_add9) => (forall (x_adda :: Type). f_add7 x_adda -> g_add9 x_adda) -> g_add9 a_add8) -> f_add7 a_add8
- Data.Effect.Provider.Implicit: withImplicit'' :: forall key_ad78 (i_ad50 :: Type) (c_ad51 :: (Type -> Type) -> Constraint) (e_ad52 :: (Type -> Type) -> Constraint) (a_ad54 :: Type) f_ad53. SendSigBy key_ad78 (ImplicitProvider' c_ad51 i_ad50 e_ad52) f_ad53 => i_ad50 -> (forall (g_ad55 :: Type -> Type). (c_ad51 g_ad55, e_ad52 g_ad55) => (forall (x_ad56 :: Type). f_ad53 x_ad56 -> g_ad55 x_ad56) -> g_ad55 a_ad54) -> f_ad53 a_ad54
+ Data.Effect.Provider.Implicit: withImplicit'' :: forall key_adfc (i_add4 :: Type) (c_add5 :: (Type -> Type) -> Constraint) (e_add6 :: (Type -> Type) -> Constraint) (a_add8 :: Type) f_add7. SendSigBy key_adfc (ImplicitProvider' c_add5 i_add4 e_add6) f_add7 => i_add4 -> (forall (g_add9 :: Type -> Type). (c_add5 g_add9, e_add6 g_add9) => (forall (x_adda :: Type). f_add7 x_adda -> g_add9 x_adda) -> g_add9 a_add8) -> f_add7 a_add8
- Data.Effect.Provider.Implicit: withImplicit'_ :: forall (i_ad50 :: Type) (c_ad51 :: (Type -> Type) -> Constraint) (e_ad52 :: (Type -> Type) -> Constraint) (a_ad54 :: Type) f_ad53. SendSig (ImplicitProvider' c_ad51 i_ad50 e_ad52) f_ad53 => i_ad50 -> (forall (g_ad55 :: Type -> Type). (c_ad51 g_ad55, e_ad52 g_ad55) => (forall (x_ad56 :: Type). f_ad53 x_ad56 -> g_ad55 x_ad56) -> g_ad55 a_ad54) -> f_ad53 a_ad54
+ Data.Effect.Provider.Implicit: withImplicit'_ :: forall (i_add4 :: Type) (c_add5 :: (Type -> Type) -> Constraint) (e_add6 :: (Type -> Type) -> Constraint) (a_add8 :: Type) f_add7. SendSig (ImplicitProvider' c_add5 i_add4 e_add6) f_add7 => i_add4 -> (forall (g_add9 :: Type -> Type). (c_add5 g_add9, e_add6 g_add9) => (forall (x_adda :: Type). f_add7 x_adda -> g_add9 x_adda) -> g_add9 a_add8) -> f_add7 a_add8
- Data.Effect.Reader: ask :: forall (r_acMQ :: Type) f_acO0. SendIns (Ask r_acMQ) f_acO0 => f_acO0 r_acMQ
+ Data.Effect.Reader: ask :: forall (r_acUN :: Type) f_acVX. SendIns (Ask r_acUN) f_acVX => f_acVX r_acUN
- Data.Effect.Reader: ask' :: forall tag_acO1 (r_acMQ :: Type) f_acO2. SendIns (Tag (Ask r_acMQ) tag_acO1) f_acO2 => f_acO2 r_acMQ
+ Data.Effect.Reader: ask' :: forall tag_acVY (r_acUN :: Type) f_acVZ. SendIns (Tag (Ask r_acUN) tag_acVY) f_acVZ => f_acVZ r_acUN
- Data.Effect.Reader: ask'' :: forall key_acO3 (r_acMQ :: Type) f_acO4. SendInsBy key_acO3 (Ask r_acMQ) f_acO4 => f_acO4 r_acMQ
+ Data.Effect.Reader: ask'' :: forall key_acW0 (r_acUN :: Type) f_acW1. SendInsBy key_acW0 (Ask r_acUN) f_acW1 => f_acW1 r_acUN
- Data.Effect.Reader: local :: forall (r_acML :: Type) (a_acMN :: Type) f_acMM. SendSig (Local r_acML) f_acMM => (r_acML -> r_acML) -> f_acMM a_acMN -> f_acMM a_acMN
+ Data.Effect.Reader: local :: forall (r_acUI :: Type) (a_acUK :: Type) f_acUJ. SendSig (Local r_acUI) f_acUJ => (r_acUI -> r_acUI) -> f_acUJ a_acUK -> f_acUJ a_acUK
- Data.Effect.Reader: local' :: forall tag_acOc (r_acML :: Type) (a_acMN :: Type) f_acMM. SendSig (TagH (Local r_acML) tag_acOc) f_acMM => (r_acML -> r_acML) -> f_acMM a_acMN -> f_acMM a_acMN
+ Data.Effect.Reader: local' :: forall tag_acW9 (r_acUI :: Type) (a_acUK :: Type) f_acUJ. SendSig (TagH (Local r_acUI) tag_acW9) f_acUJ => (r_acUI -> r_acUI) -> f_acUJ a_acUK -> f_acUJ a_acUK
- Data.Effect.Reader: local'' :: forall key_acOf (r_acML :: Type) (a_acMN :: Type) f_acMM. SendSigBy key_acOf (Local r_acML) f_acMM => (r_acML -> r_acML) -> f_acMM a_acMN -> f_acMM a_acMN
+ Data.Effect.Reader: local'' :: forall key_acWc (r_acUI :: Type) (a_acUK :: Type) f_acUJ. SendSigBy key_acWc (Local r_acUI) f_acUJ => (r_acUI -> r_acUI) -> f_acUJ a_acUK -> f_acUJ a_acUK
- Data.Effect.Reader: pattern LAsk :: () => a_acO6 ~ r_acMQ => LiftIns (Ask r_acMQ) f_acO5 a_acO6
+ Data.Effect.Reader: pattern LAsk :: () => (a_acW3 ~ r_acUN, ()) => LiftIns (Ask r_acUN) f_acW2 a_acW3
- Data.Effect.Reader: type LAsk r_acMO = LiftIns (Ask r_acMO)
+ Data.Effect.Reader: type LAsk r_acUL = LiftIns (Ask r_acUL)
- Data.Effect.Resource: bracket :: forall (a_X0 :: Type) (b_ac9U :: Type) f_ac9S. SendSig Resource f_ac9S => f_ac9S a_X0 -> (a_X0 -> f_ac9S ()) -> (a_X0 -> f_ac9S b_ac9U) -> f_ac9S b_ac9U
+ Data.Effect.Resource: bracket :: forall (a_X0 :: Type) (b_achR :: Type) f_achP. SendSig Resource f_achP => f_achP a_X0 -> (a_X0 -> f_achP ()) -> (a_X0 -> f_achP b_achR) -> f_achP b_achR
- Data.Effect.Resource: bracket' :: forall tag_acbA (a_X0 :: Type) (b_ac9U :: Type) f_ac9S. SendSig (TagH Resource tag_acbA) f_ac9S => f_ac9S a_X0 -> (a_X0 -> f_ac9S ()) -> (a_X0 -> f_ac9S b_ac9U) -> f_ac9S b_ac9U
+ Data.Effect.Resource: bracket' :: forall tag_acjx (a_X0 :: Type) (b_achR :: Type) f_achP. SendSig (TagH Resource tag_acjx) f_achP => f_achP a_X0 -> (a_X0 -> f_achP ()) -> (a_X0 -> f_achP b_achR) -> f_achP b_achR
- Data.Effect.Resource: bracket'' :: forall key_acbE (a_X0 :: Type) (b_ac9U :: Type) f_ac9S. SendSigBy key_acbE Resource f_ac9S => f_ac9S a_X0 -> (a_X0 -> f_ac9S ()) -> (a_X0 -> f_ac9S b_ac9U) -> f_ac9S b_ac9U
+ Data.Effect.Resource: bracket'' :: forall key_acjB (a_X0 :: Type) (b_achR :: Type) f_achP. SendSigBy key_acjB Resource f_achP => f_achP a_X0 -> (a_X0 -> f_achP ()) -> (a_X0 -> f_achP b_achR) -> f_achP b_achR
- Data.Effect.Resource: bracketOnExcept :: forall (a_X0 :: Type) (b_ac9X :: Type) f_ac9V. SendSig Resource f_ac9V => f_ac9V a_X0 -> (a_X0 -> f_ac9V ()) -> (a_X0 -> f_ac9V b_ac9X) -> f_ac9V b_ac9X
+ Data.Effect.Resource: bracketOnExcept :: forall (a_X0 :: Type) (b_achU :: Type) f_achS. SendSig Resource f_achS => f_achS a_X0 -> (a_X0 -> f_achS ()) -> (a_X0 -> f_achS b_achU) -> f_achS b_achU
- Data.Effect.Resource: bracketOnExcept' :: forall tag_acbL (a_X0 :: Type) (b_ac9X :: Type) f_ac9V. SendSig (TagH Resource tag_acbL) f_ac9V => f_ac9V a_X0 -> (a_X0 -> f_ac9V ()) -> (a_X0 -> f_ac9V b_ac9X) -> f_ac9V b_ac9X
+ Data.Effect.Resource: bracketOnExcept' :: forall tag_acjI (a_X0 :: Type) (b_achU :: Type) f_achS. SendSig (TagH Resource tag_acjI) f_achS => f_achS a_X0 -> (a_X0 -> f_achS ()) -> (a_X0 -> f_achS b_achU) -> f_achS b_achU
- Data.Effect.Resource: bracketOnExcept'' :: forall key_acbP (a_X0 :: Type) (b_ac9X :: Type) f_ac9V. SendSigBy key_acbP Resource f_ac9V => f_ac9V a_X0 -> (a_X0 -> f_ac9V ()) -> (a_X0 -> f_ac9V b_ac9X) -> f_ac9V b_ac9X
+ Data.Effect.Resource: bracketOnExcept'' :: forall key_acjM (a_X0 :: Type) (b_achU :: Type) f_achS. SendSigBy key_acjM Resource f_achS => f_achS a_X0 -> (a_X0 -> f_achS ()) -> (a_X0 -> f_achS b_achU) -> f_achS b_achU
- Data.Effect.ShiftReset: reset :: forall (a_abIt :: Type) m_abIs. SendSig Reset m_abIs => m_abIs a_abIt -> m_abIs a_abIt
+ Data.Effect.ShiftReset: reset :: forall (a_abQq :: Type) m_abQp. SendSig Reset m_abQp => m_abQp a_abQq -> m_abQp a_abQq
- Data.Effect.ShiftReset: reset' :: forall tag_abMF (a_abIt :: Type) m_abIs. SendSig (TagH Reset tag_abMF) m_abIs => m_abIs a_abIt -> m_abIs a_abIt
+ Data.Effect.ShiftReset: reset' :: forall tag_abUC (a_abQq :: Type) m_abQp. SendSig (TagH Reset tag_abUC) m_abQp => m_abQp a_abQq -> m_abQp a_abQq
- Data.Effect.ShiftReset: reset'' :: forall key_abMH (a_abIt :: Type) m_abIs. SendSigBy key_abMH Reset m_abIs => m_abIs a_abIt -> m_abIs a_abIt
+ Data.Effect.ShiftReset: reset'' :: forall key_abUE (a_abQq :: Type) m_abQp. SendSigBy key_abUE Reset m_abQp => m_abQp a_abQq -> m_abQp a_abQq
- Data.Effect.ShiftReset: shift :: forall (r_abxN :: Type) (a_abxP :: Type) m_abxO. SendSigBy ShiftKey (Shift' r_abxN) m_abxO => ((a_abxP -> m_abxO r_abxN) -> m_abxO r_abxN) -> m_abxO a_abxP
+ Data.Effect.ShiftReset: shift :: forall (r_abFK :: Type) (a_abFM :: Type) m_abFL. SendSigBy ShiftKey (Shift' r_abFK) m_abFL => ((a_abFM -> m_abFL r_abFK) -> m_abFL r_abFK) -> m_abFL a_abFM
- Data.Effect.ShiftReset: shift' :: forall tag_abz8 (r_abxN :: Type) (a_abxP :: Type) m_abxO. SendSig (TagH (Shift' r_abxN) tag_abz8) m_abxO => ((a_abxP -> m_abxO r_abxN) -> m_abxO r_abxN) -> m_abxO a_abxP
+ Data.Effect.ShiftReset: shift' :: forall tag_abH5 (r_abFK :: Type) (a_abFM :: Type) m_abFL. SendSig (TagH (Shift' r_abFK) tag_abH5) m_abFL => ((a_abFM -> m_abFL r_abFK) -> m_abFL r_abFK) -> m_abFL a_abFM
- Data.Effect.ShiftReset: shift'' :: forall key_abza (r_abxN :: Type) (a_abxP :: Type) m_abxO. SendSigBy key_abza (Shift' r_abxN) m_abxO => ((a_abxP -> m_abxO r_abxN) -> m_abxO r_abxN) -> m_abxO a_abxP
+ Data.Effect.ShiftReset: shift'' :: forall key_abH7 (r_abFK :: Type) (a_abFM :: Type) m_abFL. SendSigBy key_abH7 (Shift' r_abFK) m_abFL => ((a_abFM -> m_abFL r_abFK) -> m_abFL r_abFK) -> m_abFL a_abFM
- Data.Effect.ShiftReset: shift'_ :: forall (r_abxN :: Type) (a_abxP :: Type) m_abxO. SendSig (Shift' r_abxN) m_abxO => ((a_abxP -> m_abxO r_abxN) -> m_abxO r_abxN) -> m_abxO a_abxP
+ Data.Effect.ShiftReset: shift'_ :: forall (r_abFK :: Type) (a_abFM :: Type) m_abFL. SendSig (Shift' r_abFK) m_abFL => ((a_abFM -> m_abFL r_abFK) -> m_abFL r_abFK) -> m_abFL a_abFM
- Data.Effect.ShiftReset: shift_ :: forall (a_abzp :: Type) m_abzq. SendSig Shift_ m_abzq => (forall (r_abzr :: Type). (a_abzp -> m_abzq r_abzr) -> m_abzq r_abzr) -> m_abzq a_abzp
+ Data.Effect.ShiftReset: shift_ :: forall (a_abHm :: Type) m_abHn. SendSig Shift_ m_abHn => (forall (r_abHo :: Type). (a_abHm -> m_abHn r_abHo) -> m_abHn r_abHo) -> m_abHn a_abHm
- Data.Effect.ShiftReset: shift_' :: forall tag_abIg (a_abzp :: Type) m_abzq. SendSig (TagH Shift_ tag_abIg) m_abzq => (forall (r_abzr :: Type). (a_abzp -> m_abzq r_abzr) -> m_abzq r_abzr) -> m_abzq a_abzp
+ Data.Effect.ShiftReset: shift_' :: forall tag_abQd (a_abHm :: Type) m_abHn. SendSig (TagH Shift_ tag_abQd) m_abHn => (forall (r_abHo :: Type). (a_abHm -> m_abHn r_abHo) -> m_abHn r_abHo) -> m_abHn a_abHm
- Data.Effect.ShiftReset: shift_'' :: forall key_abIi (a_abzp :: Type) m_abzq. SendSigBy key_abIi Shift_ m_abzq => (forall (r_abzr :: Type). (a_abzp -> m_abzq r_abzr) -> m_abzq r_abzr) -> m_abzq a_abzp
+ Data.Effect.ShiftReset: shift_'' :: forall key_abQf (a_abHm :: Type) m_abHn. SendSigBy key_abQf Shift_ m_abHn => (forall (r_abHo :: Type). (a_abHm -> m_abHn r_abHo) -> m_abHn r_abHo) -> m_abHn a_abHm
- Data.Effect.ShiftReset: type Shift r_abxK = (##>) ShiftKey (Shift' r_abxK)
+ Data.Effect.ShiftReset: type Shift r_abFH = (##>) ShiftKey (Shift' r_abFH)
- Data.Effect.State: get :: forall (s_abbv :: Type) f_abcd. SendIns (State s_abbv) f_abcd => f_abcd s_abbv
+ Data.Effect.State: get :: forall (s_abje :: Type) f_abjW. SendIns (State s_abje) f_abjW => f_abjW s_abje
- Data.Effect.State: get' :: forall tag_abce (s_abbv :: Type) f_abcf. SendIns (Tag (State s_abbv) tag_abce) f_abcf => f_abcf s_abbv
+ Data.Effect.State: get' :: forall tag_abjX (s_abje :: Type) f_abjY. SendIns (Tag (State s_abje) tag_abjX) f_abjY => f_abjY s_abje
- Data.Effect.State: get'' :: forall key_abcg (s_abbv :: Type) f_abch. SendInsBy key_abcg (State s_abbv) f_abch => f_abch s_abbv
+ Data.Effect.State: get'' :: forall key_abjZ (s_abje :: Type) f_abk0. SendInsBy key_abjZ (State s_abje) f_abk0 => f_abk0 s_abje
- Data.Effect.State: pattern LGet :: () => a_abcr ~ s_abbv => LiftIns (State s_abbv) f_abcq a_abcr
+ Data.Effect.State: pattern LGet :: () => (a_abka ~ s_abje, ()) => LiftIns (State s_abje) f_abk9 a_abka
- Data.Effect.State: put :: forall (s_abbw :: Type) f_abci. SendIns (State s_abbw) f_abci => s_abbw -> f_abci ()
+ Data.Effect.State: put :: forall (s_abjf :: Type) f_abk1. SendIns (State s_abjf) f_abk1 => s_abjf -> f_abk1 ()
- Data.Effect.State: put' :: forall tag_abck (s_abbw :: Type) f_abcl. SendIns (Tag (State s_abbw) tag_abck) f_abcl => s_abbw -> f_abcl ()
+ Data.Effect.State: put' :: forall tag_abk3 (s_abjf :: Type) f_abk4. SendIns (Tag (State s_abjf) tag_abk3) f_abk4 => s_abjf -> f_abk4 ()
- Data.Effect.State: put'' :: forall key_abcn (s_abbw :: Type) f_abco. SendInsBy key_abcn (State s_abbw) f_abco => s_abbw -> f_abco ()
+ Data.Effect.State: put'' :: forall key_abk6 (s_abjf :: Type) f_abk7. SendInsBy key_abk6 (State s_abjf) f_abk7 => s_abjf -> f_abk7 ()
- Data.Effect.State: type LState s_abbt = LiftIns (State s_abbt)
+ Data.Effect.State: type LState s_abjc = LiftIns (State s_abjc)
- Data.Effect.Unlift: withRunInBase :: forall (b_aaV3 :: Type -> Type) (a_aaV4 :: Type) f_aaV2. SendSig (UnliftBase b_aaV3) f_aaV2 => ((forall (x_aaV5 :: Type). f_aaV2 x_aaV5 -> b_aaV3 x_aaV5) -> b_aaV3 a_aaV4) -> f_aaV2 a_aaV4
+ Data.Effect.Unlift: withRunInBase :: forall (b_ab2M :: Type -> Type) (a_ab2N :: Type) f_ab2L. SendSig (UnliftBase b_ab2M) f_ab2L => ((forall (x_ab2O :: Type). f_ab2L x_ab2O -> b_ab2M x_ab2O) -> b_ab2M a_ab2N) -> f_ab2L a_ab2N
- Data.Effect.Unlift: withRunInBase' :: forall tag_aaWt (b_aaV3 :: Type -> Type) (a_aaV4 :: Type) f_aaV2. SendSig (TagH (UnliftBase b_aaV3) tag_aaWt) f_aaV2 => ((forall (x_aaV5 :: Type). f_aaV2 x_aaV5 -> b_aaV3 x_aaV5) -> b_aaV3 a_aaV4) -> f_aaV2 a_aaV4
+ Data.Effect.Unlift: withRunInBase' :: forall tag_ab4c (b_ab2M :: Type -> Type) (a_ab2N :: Type) f_ab2L. SendSig (TagH (UnliftBase b_ab2M) tag_ab4c) f_ab2L => ((forall (x_ab2O :: Type). f_ab2L x_ab2O -> b_ab2M x_ab2O) -> b_ab2M a_ab2N) -> f_ab2L a_ab2N
- Data.Effect.Unlift: withRunInBase'' :: forall key_aaWv (b_aaV3 :: Type -> Type) (a_aaV4 :: Type) f_aaV2. SendSigBy key_aaWv (UnliftBase b_aaV3) f_aaV2 => ((forall (x_aaV5 :: Type). f_aaV2 x_aaV5 -> b_aaV3 x_aaV5) -> b_aaV3 a_aaV4) -> f_aaV2 a_aaV4
+ Data.Effect.Unlift: withRunInBase'' :: forall key_ab4e (b_ab2M :: Type -> Type) (a_ab2N :: Type) f_ab2L. SendSigBy key_ab4e (UnliftBase b_ab2M) f_ab2L => ((forall (x_ab2O :: Type). f_ab2L x_ab2O -> b_ab2M x_ab2O) -> b_ab2M a_ab2N) -> f_ab2L a_ab2N
- Data.Effect.Writer: censor :: forall (w_aabC :: Type) (a_aabE :: Type) f_aabD. SendSig (WriterH w_aabC) f_aabD => (w_aabC -> w_aabC) -> f_aabD a_aabE -> f_aabD a_aabE
+ Data.Effect.Writer: censor :: forall (w_aaje :: Type) (a_aajg :: Type) f_aajf. SendSig (WriterH w_aaje) f_aajf => (w_aaje -> w_aaje) -> f_aajf a_aajg -> f_aajf a_aajg
- Data.Effect.Writer: censor' :: forall tag_aalS (w_aabC :: Type) (a_aabE :: Type) f_aabD. SendSig (TagH (WriterH w_aabC) tag_aalS) f_aabD => (w_aabC -> w_aabC) -> f_aabD a_aabE -> f_aabD a_aabE
+ Data.Effect.Writer: censor' :: forall tag_aatu (w_aaje :: Type) (a_aajg :: Type) f_aajf. SendSig (TagH (WriterH w_aaje) tag_aatu) f_aajf => (w_aaje -> w_aaje) -> f_aajf a_aajg -> f_aajf a_aajg
- Data.Effect.Writer: censor'' :: forall key_aalV (w_aabC :: Type) (a_aabE :: Type) f_aabD. SendSigBy key_aalV (WriterH w_aabC) f_aabD => (w_aabC -> w_aabC) -> f_aabD a_aabE -> f_aabD a_aabE
+ Data.Effect.Writer: censor'' :: forall key_aatx (w_aaje :: Type) (a_aajg :: Type) f_aajf. SendSigBy key_aatx (WriterH w_aaje) f_aajf => (w_aaje -> w_aaje) -> f_aajf a_aajg -> f_aajf a_aajg
- Data.Effect.Writer: listen :: forall (a_X0 :: Type) (w_aabB :: Type) f_aabz. SendSig (WriterH w_aabB) f_aabz => f_aabz a_X0 -> f_aabz (w_aabB, a_X0)
+ Data.Effect.Writer: listen :: forall (a_X0 :: Type) (w_aajd :: Type) f_aajb. SendSig (WriterH w_aajd) f_aajb => f_aajb a_X0 -> f_aajb (w_aajd, a_X0)
- Data.Effect.Writer: listen' :: forall tag_aalM (a_X0 :: Type) (w_aabB :: Type) f_aabz. SendSig (TagH (WriterH w_aabB) tag_aalM) f_aabz => f_aabz a_X0 -> f_aabz (w_aabB, a_X0)
+ Data.Effect.Writer: listen' :: forall tag_aato (a_X0 :: Type) (w_aajd :: Type) f_aajb. SendSig (TagH (WriterH w_aajd) tag_aato) f_aajb => f_aajb a_X0 -> f_aajb (w_aajd, a_X0)
- Data.Effect.Writer: listen'' :: forall key_aalO (a_X0 :: Type) (w_aabB :: Type) f_aabz. SendSigBy key_aalO (WriterH w_aabB) f_aabz => f_aabz a_X0 -> f_aabz (w_aabB, a_X0)
+ Data.Effect.Writer: listen'' :: forall key_aatq (a_X0 :: Type) (w_aajd :: Type) f_aajb. SendSigBy key_aatq (WriterH w_aajd) f_aajb => f_aajb a_X0 -> f_aajb (w_aajd, a_X0)
- Data.Effect.Writer: tell :: forall (w_aabH :: Type) f_aalv. SendIns (Tell w_aabH) f_aalv => w_aabH -> f_aalv ()
+ Data.Effect.Writer: tell :: forall (w_aajj :: Type) f_aat7. SendIns (Tell w_aajj) f_aat7 => w_aajj -> f_aat7 ()
- Data.Effect.Writer: tell' :: forall tag_aalx (w_aabH :: Type) f_aaly. SendIns (Tag (Tell w_aabH) tag_aalx) f_aaly => w_aabH -> f_aaly ()
+ Data.Effect.Writer: tell' :: forall tag_aat9 (w_aajj :: Type) f_aata. SendIns (Tag (Tell w_aajj) tag_aat9) f_aata => w_aajj -> f_aata ()
- Data.Effect.Writer: tell'' :: forall key_aalA (w_aabH :: Type) f_aalB. SendInsBy key_aalA (Tell w_aabH) f_aalB => w_aabH -> f_aalB ()
+ Data.Effect.Writer: tell'' :: forall key_aatc (w_aajj :: Type) f_aatd. SendInsBy key_aatc (Tell w_aajj) f_aatd => w_aajj -> f_aatd ()
- Data.Effect.Writer: type LTell w_aabF = LiftIns (Tell w_aabF)
+ Data.Effect.Writer: type LTell w_aajh = LiftIns (Tell w_aajh)

Files

ChangeLog.md view
@@ -1,1 +1,5 @@ # Revision history for data-effects++## 0.1.1.0 -- 2024-09-01+* Added 'Timer' effects.+* Added convenience functions for error handling with the Except effect.
README.md view
@@ -11,7 +11,7 @@ the [Heftia](https://github.com/sayo-hs/heftia) extensible effects library.  ## Your contributions are welcome!-Please see [CONTRIBUTING.md](CONTRIBUTING.md).+Please see [CONTRIBUTING.md](https://github.com/sayo-hs/data-effects/blob/ef706ef3fa547de01ce6bb5636af911354e53b58/CONTRIBUTING.md).  ## Credits Parts of this project have been adapted or inspired by the following resources:
data-effects.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.4 name:               data-effects-version:            0.1.0.0+version:            0.1.1.0  -- A short (one-line) description of the package. synopsis: A basic framework for effect systems based on effects represented by GADTs.@@ -60,6 +60,7 @@         Data.Effect.Resource         Data.Effect.Fresh         Data.Effect.Concurrent.Thread+        Data.Effect.Concurrent.Timer         Data.Effect.Unlift         Data.Effect.ShiftReset         Data.Effect.KVStore@@ -86,9 +87,12 @@     build-depends:         base                        ^>= 4.16.4.0,         data-effects-core           ^>= 0.1,-        data-effects-th             ^>= 0.1,+        data-effects-th             ^>= 0.1.1,         these                       ^>= 1.2,         data-default                ^>= 0.7.1,+        text                        ^>= 1.2.5,+        lens                        ^>= 5.2.3,+        time                        ^>= 1.11.1,      hs-source-dirs:   src     ghc-options:      -Wall
+ src/Data/Effect/Concurrent/Timer.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE AllowAmbiguousTypes #-}++-- This Source Code Form is subject to the terms of the Mozilla Public+-- License, v. 2.0. If a copy of the MPL was not distributed with this+-- file, You can obtain one at https://mozilla.org/MPL/2.0/.++{- |+Copyright   :  (c) 2024 Yamada Ryo+License     :  MPL-2.0 (see the file LICENSE)+Maintainer  :  ymdfield@outlook.jp+Stability   :  experimental+Portability :  portable+-}+module Data.Effect.Concurrent.Timer where++import Control.Monad (when)+import Data.Effect.Coroutine (Yield, yield)+import Data.Function (fix)+import Data.Functor ((<&>))+import Data.Time (DiffTime)++data Timer a where+    Clock :: Timer DiffTime+    Sleep :: DiffTime -> Timer ()+makeEffectF [''Timer]++withElapsedTime :: (Timer <: m, Monad m) => (m DiffTime -> m a) -> m a+withElapsedTime f = do+    start <- clock+    f $ clock <&> (`subtract` start)++measureTime :: (Timer <: m, Monad m) => m a -> m (DiffTime, a)+measureTime m = withElapsedTime \elapsedTime -> do+    r <- m+    elapsedTime <&> (,r)++sleepUntil :: (Timer <: m, Monad m) => DiffTime -> m (Maybe DiffTime)+sleepUntil t = do+    now <- clock+    when (t > now) do+        sleep $ t - now+    pure if t < now then Just (now - t) else Nothing++runCyclic :: (Timer <: m, Monad m) => m DiffTime -> m () -> m a+runCyclic deltaTime a = do+    t0 <- clock+    flip fix t0 \next t -> do+        t' <- (t +) <$> deltaTime+        a+        delay <- sleepUntil t'+        next $ maybe t' (t' +) delay++runPeriodic :: (Timer <: m, Monad m) => DiffTime -> m () -> m a+runPeriodic interval = runCyclic (pure interval)+{-# INLINE runPeriodic #-}++periodicTimer :: forall m a. (Timer <: m, Yield () () <: m, Monad m) => DiffTime -> m a+periodicTimer interval = runPeriodic interval $ yield ()+{-# INLINE periodicTimer #-}++cyclicTimer :: forall m a. (Timer <: m, Yield () DiffTime <: m, Monad m) => m a+cyclicTimer = runCyclic (yield ()) (pure ())+{-# INLINE cyclicTimer #-}++data CyclicTimer a where+    Wait :: DiffTime -> CyclicTimer ()+makeEffectF [''CyclicTimer]
src/Data/Effect/Except.hs view
@@ -20,3 +20,27 @@     Catch :: f a -> (e -> f a) -> Catch e f a  makeEffect [''Throw] [''Catch]++liftEither :: (Throw e <: f, Applicative f) => Either e a -> f a+liftEither = either throw pure+{-# INLINE liftEither #-}++joinEither :: (Throw e <: m, Monad m) => m (Either e a) -> m a+joinEither = (>>= either throw pure)+{-# INLINE joinEither #-}++joinExcept :: Monad m => Either (m a) a -> m a+joinExcept = either id pure+{-# INLINE joinExcept #-}++exc :: Monad m => m (Either (m a) a) -> m a+exc = (>>= either id pure)+{-# INLINE exc #-}++withExcept :: (Catch e <<: f, Throw e <: f, Applicative f) => f a -> (e -> f ()) -> f a+withExcept thing after = thing `catch` \e -> after e *> throw e+{-# INLINE withExcept #-}++onExcept :: forall e f a. (Catch e <<: f, Throw e <: f, Applicative f) => f a -> f () -> f a+onExcept thing after = thing `withExcept` \(_ :: e) -> after+{-# INLINE onExcept #-}