packages feed

data-effects 0.4.0.0 → 0.4.0.1

raw patch · 1 files changed

+4/−4 lines, 1 filesdep ~co-log-coredep ~containersdep ~unliftioPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: co-log-core, containers, unliftio

API changes (from Hackage documentation)

+ Data.Effect.Shift: [Abort] :: forall ans (ref :: Type -> Type) (a :: Type -> Type) b. ans -> Shift ans ref a b
+ Data.Effect.Shift: [Call] :: forall (ref :: Type -> Type) a1 ans (a :: Type -> Type). ref a1 -> a1 -> Shift ans ref a ans
+ Data.Effect.Shift: [SubShiftFork] :: forall ans (ref :: Type -> Type) (a :: Type -> Type) a1. Shift ans ref a (Either (ref a1) a1)
+ Data.Effect.Shift: data Shift ans (ref :: Type -> Type) (a :: Type -> Type) b
+ Data.Effect.Shift: data ShiftLabel
+ Data.Effect.Shift: instance Data.Effect.FirstOrder (Data.Effect.Shift.Shift ans ref)
+ Data.Effect.Shift: instance Data.Effect.HFunctor.HFunctor (Data.Effect.Shift.Shift ans ref)
- Data.Effect.Accum: [Add] :: w -> Accum w f ()
+ Data.Effect.Accum: [Add] :: forall w (a :: Type -> Type). w -> Accum w a ()
- Data.Effect.Accum: [Look] :: Accum w f w
+ Data.Effect.Accum: [Look] :: forall w (a :: Type -> Type). Accum w a w
- Data.Effect.Accum: add :: forall (w_arA6 :: Type) f_arA7 es_arBa ff_arB9 c_arBb. (Free c_arBb ff_arB9, f_arA7 ~ Eff ff_arB9 es_arBa, (:>) (Accum w_arA6) es_arBa) => w_arA6 -> f_arA7 ()
+ Data.Effect.Accum: add :: forall w f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Accum w :> es) => w -> f ()
- Data.Effect.Accum: add' :: forall key_arBd (w_arA6 :: Type) f_arA7 es_arBf ff_arBe c_arBg. (Free c_arBg ff_arBe, f_arA7 ~ Eff ff_arBe es_arBf, Has key_arBd (Accum w_arA6) es_arBf) => w_arA6 -> f_arA7 ()
+ Data.Effect.Accum: add' :: forall {k} (key :: k) w f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Accum w) es) => w -> f ()
- Data.Effect.Accum: add'' :: forall tag_arBi (w_arA6 :: Type) f_arA7 es_arBk ff_arBj c_arBl. (Free c_arBl ff_arBj, f_arA7 ~ Eff ff_arBj es_arBk, (:>) (Tagged tag_arBi (Accum w_arA6)) es_arBk) => w_arA6 -> f_arA7 ()
+ Data.Effect.Accum: add'' :: forall {k} (tag :: k) w f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Accum w) :> es) => w -> f ()
- Data.Effect.Accum: add'_ :: forall (w_arA6 :: Type) f_arA7 es_arBo ff_arBn c_arBp. (Free c_arBp ff_arBn, f_arA7 ~ Eff ff_arBn es_arBo, In (Accum w_arA6) es_arBo) => w_arA6 -> f_arA7 ()
+ Data.Effect.Accum: add'_ :: forall w f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Accum w) es) => w -> f ()
- Data.Effect.Accum: data Accum w :: Effect
+ Data.Effect.Accum: data Accum w (a :: Type -> Type) b
- Data.Effect.Accum: look :: forall (w_arA8 :: Type) f_arA9 es_arBs ff_arBr c_arBt. (Free c_arBt ff_arBr, f_arA9 ~ Eff ff_arBr es_arBs, (:>) (Accum w_arA8) es_arBs) => f_arA9 w_arA8
+ Data.Effect.Accum: look :: forall w f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Accum w :> es) => f w
- Data.Effect.Accum: look' :: forall key_arBu (w_arA8 :: Type) f_arA9 es_arBw ff_arBv c_arBx. (Free c_arBx ff_arBv, f_arA9 ~ Eff ff_arBv es_arBw, Has key_arBu (Accum w_arA8) es_arBw) => f_arA9 w_arA8
+ Data.Effect.Accum: look' :: forall {k} (key :: k) w f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Accum w) es) => f w
- Data.Effect.Accum: look'' :: forall tag_arBy (w_arA8 :: Type) f_arA9 es_arBA ff_arBz c_arBB. (Free c_arBB ff_arBz, f_arA9 ~ Eff ff_arBz es_arBA, (:>) (Tagged tag_arBy (Accum w_arA8)) es_arBA) => f_arA9 w_arA8
+ Data.Effect.Accum: look'' :: forall {k} (tag :: k) w f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Accum w) :> es) => f w
- Data.Effect.Accum: look'_ :: forall (w_arA8 :: Type) f_arA9 es_arBD ff_arBC c_arBE. (Free c_arBE ff_arBC, f_arA9 ~ Eff ff_arBC es_arBD, In (Accum w_arA8) es_arBD) => f_arA9 w_arA8
+ Data.Effect.Accum: look'_ :: forall w f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Accum w) es) => f w
- Data.Effect.CC: callCC :: forall a ref es ff c. (CC ref :> es, Monad (Eff ff es), Free c ff) => ((forall b. a -> Eff ff es b) -> Eff ff es a) -> Eff ff es a
+ Data.Effect.CC: callCC :: forall a (ref :: Type -> Type) (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (CC ref :> es, Monad (Eff ff es), Free c ff) => ((forall b. () => a -> Eff ff es b) -> Eff ff es a) -> Eff ff es a
- Data.Effect.CC: data () => CC (ref :: Type -> Type) (a :: Type -> Type) b
+ Data.Effect.CC: data CC (ref :: Type -> Type) (a :: Type -> Type) b
- Data.Effect.CC: getCC :: forall a ref es ff c. (CC ref :> es, Monad (Eff ff es), Free c ff) => Eff ff es (Eff ff es a)
+ Data.Effect.CC: getCC :: forall a (ref :: Type -> Type) (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (CC ref :> es, Monad (Eff ff es), Free c ff) => Eff ff es (Eff ff es a)
- Data.Effect.CC: jump :: forall (ref_acIi :: Type -> Type) (a1_acIm :: Type) (b_acIk :: Type) a_acIj es_ar97 ff_ar96 c_ar98. (Free c_ar98 ff_ar96, a_acIj ~ Eff ff_ar96 es_ar97, (:>) (CC ref_acIi) es_ar97) => ref_acIi a1_acIm -> a1_acIm -> a_acIj b_acIk
+ Data.Effect.CC: jump :: forall ref a1 b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, CC ref :> es) => ref a1 -> a1 -> a b
- Data.Effect.CC: jump' :: forall key_ar9b (ref_acIi :: Type -> Type) (a1_acIm :: Type) (b_acIk :: Type) a_acIj es_ar9d ff_ar9c c_ar9e. (Free c_ar9e ff_ar9c, a_acIj ~ Eff ff_ar9c es_ar9d, Has key_ar9b (CC ref_acIi) es_ar9d) => ref_acIi a1_acIm -> a1_acIm -> a_acIj b_acIk
+ Data.Effect.CC: jump' :: forall {k} (key :: k) ref a1 b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (CC ref) es) => ref a1 -> a1 -> a b
- Data.Effect.CC: jump'' :: forall tag_ar9h (ref_acIi :: Type -> Type) (a1_acIm :: Type) (b_acIk :: Type) a_acIj es_ar9j ff_ar9i c_ar9k. (Free c_ar9k ff_ar9i, a_acIj ~ Eff ff_ar9i es_ar9j, (:>) (Tagged tag_ar9h (CC ref_acIi)) es_ar9j) => ref_acIi a1_acIm -> a1_acIm -> a_acIj b_acIk
+ Data.Effect.CC: jump'' :: forall {k} (tag :: k) ref a1 b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (CC ref) :> es) => ref a1 -> a1 -> a b
- Data.Effect.CC: jump'_ :: forall (ref_acIi :: Type -> Type) (a1_acIm :: Type) (b_acIk :: Type) a_acIj es_ar9o ff_ar9n c_ar9p. (Free c_ar9p ff_ar9n, a_acIj ~ Eff ff_ar9n es_ar9o, In (CC ref_acIi) es_ar9o) => ref_acIi a1_acIm -> a1_acIm -> a_acIj b_acIk
+ Data.Effect.CC: jump'_ :: forall ref a1 b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (CC ref) es) => ref a1 -> a1 -> a b
- Data.Effect.CC: subFork :: forall (ref_acIi :: Type -> Type) (a1_acIl :: Type) a_acIj es_ar8T ff_ar8S c_ar8U. (Free c_ar8U ff_ar8S, a_acIj ~ Eff ff_ar8S es_ar8T, (:>) (CC ref_acIi) es_ar8T) => a_acIj (Either (ref_acIi a1_acIl) a1_acIl)
+ Data.Effect.CC: subFork :: forall ref a1 a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, CC ref :> es) => a (Either (ref a1) a1)
- Data.Effect.CC: subFork' :: forall key_ar8V (ref_acIi :: Type -> Type) (a1_acIl :: Type) a_acIj es_ar8X ff_ar8W c_ar8Y. (Free c_ar8Y ff_ar8W, a_acIj ~ Eff ff_ar8W es_ar8X, Has key_ar8V (CC ref_acIi) es_ar8X) => a_acIj (Either (ref_acIi a1_acIl) a1_acIl)
+ Data.Effect.CC: subFork' :: forall {k} (key :: k) ref a1 a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (CC ref) es) => a (Either (ref a1) a1)
- Data.Effect.CC: subFork'' :: forall tag_ar8Z (ref_acIi :: Type -> Type) (a1_acIl :: Type) a_acIj es_ar91 ff_ar90 c_ar92. (Free c_ar92 ff_ar90, a_acIj ~ Eff ff_ar90 es_ar91, (:>) (Tagged tag_ar8Z (CC ref_acIi)) es_ar91) => a_acIj (Either (ref_acIi a1_acIl) a1_acIl)
+ Data.Effect.CC: subFork'' :: forall {k} (tag :: k) ref a1 a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (CC ref) :> es) => a (Either (ref a1) a1)
- Data.Effect.CC: subFork'_ :: forall (ref_acIi :: Type -> Type) (a1_acIl :: Type) a_acIj es_ar94 ff_ar93 c_ar95. (Free c_ar95 ff_ar93, a_acIj ~ Eff ff_ar93 es_ar94, In (CC ref_acIi) es_ar94) => a_acIj (Either (ref_acIi a1_acIl) a1_acIl)
+ Data.Effect.CC: subFork'_ :: forall ref a1 a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (CC ref) es) => a (Either (ref a1) a1)
- Data.Effect.Concurrent.Parallel: Concurrently :: Eff ff es a -> Concurrently ff es a
+ Data.Effect.Concurrent.Parallel: Concurrently :: Eff ff es a -> Concurrently (ff :: (Type -> Type) -> Type -> Type) (es :: [Effect]) a
- Data.Effect.Concurrent.Parallel: [For] :: t (f a) -> For t f (t a)
+ Data.Effect.Concurrent.Parallel: [For] :: forall (t :: Type -> Type) (a :: Type -> Type) a1. t (a a1) -> For t a (t a1)
- Data.Effect.Concurrent.Parallel: [Halt] :: Halt f a
+ Data.Effect.Concurrent.Parallel: [Halt] :: forall (a :: Type -> Type) b. Halt a b
- Data.Effect.Concurrent.Parallel: [LiftP2] :: (a -> b -> c) -> f a -> f b -> Parallel f c
+ Data.Effect.Concurrent.Parallel: [LiftP2] :: forall a1 b1 b (a :: Type -> Type). (a1 -> b1 -> b) -> a a1 -> a b1 -> Parallel a b
- Data.Effect.Concurrent.Parallel: [Poldl] :: (a -> Maybe b -> f (Either r a)) -> f a -> f b -> Poll f r
+ Data.Effect.Concurrent.Parallel: [Poldl] :: forall a1 b1 (a :: Type -> Type) b. (a1 -> Maybe b1 -> a (Either b a1)) -> a a1 -> a b1 -> Poll a b
- Data.Effect.Concurrent.Parallel: [Race] :: f a -> f a -> Race f a
+ Data.Effect.Concurrent.Parallel: [Race] :: forall (a :: Type -> Type) b. a b -> a b -> Race a b
- Data.Effect.Concurrent.Parallel: [runConcurrently] :: Concurrently ff es a -> Eff ff es a
+ Data.Effect.Concurrent.Parallel: [runConcurrently] :: Concurrently (ff :: (Type -> Type) -> Type -> Type) (es :: [Effect]) a -> Eff ff es a
- Data.Effect.Concurrent.Parallel: cancelBy :: forall a b es ff c. (Poll :> es, Applicative (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es b -> Eff ff es (Maybe a, b)
+ Data.Effect.Concurrent.Parallel: cancelBy :: forall a b (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Poll :> es, Applicative (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es b -> Eff ff es (Maybe a, b)
- Data.Effect.Concurrent.Parallel: cancels :: forall a b es ff c. (Poll :> es, Applicative (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es b -> Eff ff es (a, Maybe b)
+ Data.Effect.Concurrent.Parallel: cancels :: forall a b (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Poll :> es, Applicative (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es b -> Eff ff es (a, Maybe b)
- Data.Effect.Concurrent.Parallel: data For (t :: Type -> Type) :: Effect
+ Data.Effect.Concurrent.Parallel: data For (t :: Type -> Type) (a :: Type -> Type) b
- Data.Effect.Concurrent.Parallel: data Halt :: Effect
+ Data.Effect.Concurrent.Parallel: data Halt (a :: Type -> Type) b
- Data.Effect.Concurrent.Parallel: data Parallel :: Effect
+ Data.Effect.Concurrent.Parallel: data Parallel (a :: Type -> Type) b
- Data.Effect.Concurrent.Parallel: data Poll :: Effect
+ Data.Effect.Concurrent.Parallel: data Poll (a :: Type -> Type) b
- Data.Effect.Concurrent.Parallel: data Race :: Effect
+ Data.Effect.Concurrent.Parallel: data Race (a :: Type -> Type) b
- Data.Effect.Concurrent.Parallel: for :: forall (t_aq4R :: Type -> Type) (a_X0 :: Type) f_aq4S es_aqmo ff_aqmn c_aqmp. (Free c_aqmp ff_aqmn, f_aq4S ~ Eff ff_aqmn es_aqmo, (:>) (For t_aq4R) es_aqmo) => t_aq4R (f_aq4S a_X0) -> f_aq4S (t_aq4R a_X0)
+ Data.Effect.Concurrent.Parallel: for :: forall t a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, For t :> es) => t (f a) -> f (t a)
- Data.Effect.Concurrent.Parallel: for' :: forall key_aqmr (t_aq4R :: Type -> Type) (a_X0 :: Type) f_aq4S es_aqmt ff_aqms c_aqmu. (Free c_aqmu ff_aqms, f_aq4S ~ Eff ff_aqms es_aqmt, Has key_aqmr (For t_aq4R) es_aqmt) => t_aq4R (f_aq4S a_X0) -> f_aq4S (t_aq4R a_X0)
+ Data.Effect.Concurrent.Parallel: for' :: forall {k} (key :: k) t a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (For t) es) => t (f a) -> f (t a)
- Data.Effect.Concurrent.Parallel: for'' :: forall tag_aqmw (t_aq4R :: Type -> Type) (a_X0 :: Type) f_aq4S es_aqmy ff_aqmx c_aqmz. (Free c_aqmz ff_aqmx, f_aq4S ~ Eff ff_aqmx es_aqmy, (:>) (Tagged tag_aqmw (For t_aq4R)) es_aqmy) => t_aq4R (f_aq4S a_X0) -> f_aq4S (t_aq4R a_X0)
+ Data.Effect.Concurrent.Parallel: for'' :: forall {k} (tag :: k) t a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (For t) :> es) => t (f a) -> f (t a)
- Data.Effect.Concurrent.Parallel: for'_ :: forall (t_aq4R :: Type -> Type) (a_X0 :: Type) f_aq4S es_aqmC ff_aqmB c_aqmD. (Free c_aqmD ff_aqmB, f_aq4S ~ Eff ff_aqmB es_aqmC, In (For t_aq4R) es_aqmC) => t_aq4R (f_aq4S a_X0) -> f_aq4S (t_aq4R a_X0)
+ Data.Effect.Concurrent.Parallel: for'_ :: forall t a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (For t) es) => t (f a) -> f (t a)
- Data.Effect.Concurrent.Parallel: forToParallel :: forall t a es ff c. (Parallel :> es, Traversable t, Applicative (Eff ff es), Free c ff) => For t (Eff ff es) a -> Eff ff es a
+ Data.Effect.Concurrent.Parallel: forToParallel :: forall (t :: Type -> Type) a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Parallel :> es, Traversable t, Applicative (Eff ff es), Free c ff) => For t (Eff ff es) a -> Eff ff es a
- Data.Effect.Concurrent.Parallel: halt :: forall (a_apf2 :: Type) f_apf1 es_aph4 ff_aph3 c_aph5. (Free c_aph5 ff_aph3, f_apf1 ~ Eff ff_aph3 es_aph4, (:>) Halt es_aph4) => f_apf1 a_apf2
+ Data.Effect.Concurrent.Parallel: halt :: forall a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Halt :> es) => f a
- Data.Effect.Concurrent.Parallel: halt' :: forall key_aph6 (a_apf2 :: Type) f_apf1 es_aph8 ff_aph7 c_aph9. (Free c_aph9 ff_aph7, f_apf1 ~ Eff ff_aph7 es_aph8, Has key_aph6 Halt es_aph8) => f_apf1 a_apf2
+ Data.Effect.Concurrent.Parallel: halt' :: forall {k} (key :: k) a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key Halt es) => f a
- Data.Effect.Concurrent.Parallel: halt'' :: forall tag_apha (a_apf2 :: Type) f_apf1 es_aphc ff_aphb c_aphd. (Free c_aphd ff_aphb, f_apf1 ~ Eff ff_aphb es_aphc, (:>) (Tagged tag_apha Halt) es_aphc) => f_apf1 a_apf2
+ Data.Effect.Concurrent.Parallel: halt'' :: forall {k} (tag :: k) a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag Halt :> es) => f a
- Data.Effect.Concurrent.Parallel: halt'_ :: forall (a_apf2 :: Type) f_apf1 es_aphf ff_aphe c_aphg. (Free c_aphg ff_aphe, f_apf1 ~ Eff ff_aphe es_aphf, In Halt es_aphf) => f_apf1 a_apf2
+ Data.Effect.Concurrent.Parallel: halt'_ :: forall a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In Halt es) => f a
- Data.Effect.Concurrent.Parallel: haltToIO :: MonadIO m => Halt ~~> m
+ Data.Effect.Concurrent.Parallel: haltToIO :: forall (m :: Type -> Type). MonadIO m => Halt ~~> m
- Data.Effect.Concurrent.Parallel: liftP2 :: forall (a_X0 :: Type) (b_X1 :: Type) (c_apf5 :: Type) f_apf6 es_apsg ff_apsf c_apsh. (Free c_apsh ff_apsf, f_apf6 ~ Eff ff_apsf es_apsg, (:>) Parallel es_apsg) => (a_X0 -> b_X1 -> c_apf5) -> f_apf6 a_X0 -> f_apf6 b_X1 -> f_apf6 c_apf5
+ Data.Effect.Concurrent.Parallel: liftP2 :: forall a b c1 f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c2 :: (Type -> Type) -> Constraint). (Free c2 ff, f ~ Eff ff es, Parallel :> es) => (a -> b -> c1) -> f a -> f b -> f c1
- Data.Effect.Concurrent.Parallel: liftP2' :: forall key_apsl (a_X0 :: Type) (b_X1 :: Type) (c_apf5 :: Type) f_apf6 es_apsn ff_apsm c_apso. (Free c_apso ff_apsm, f_apf6 ~ Eff ff_apsm es_apsn, Has key_apsl Parallel es_apsn) => (a_X0 -> b_X1 -> c_apf5) -> f_apf6 a_X0 -> f_apf6 b_X1 -> f_apf6 c_apf5
+ Data.Effect.Concurrent.Parallel: liftP2' :: forall {k} (key :: k) a b c1 f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c2 :: (Type -> Type) -> Constraint). (Free c2 ff, f ~ Eff ff es, Has key Parallel es) => (a -> b -> c1) -> f a -> f b -> f c1
- Data.Effect.Concurrent.Parallel: liftP2'' :: forall tag_apss (a_X0 :: Type) (b_X1 :: Type) (c_apf5 :: Type) f_apf6 es_apsu ff_apst c_apsv. (Free c_apsv ff_apst, f_apf6 ~ Eff ff_apst es_apsu, (:>) (Tagged tag_apss Parallel) es_apsu) => (a_X0 -> b_X1 -> c_apf5) -> f_apf6 a_X0 -> f_apf6 b_X1 -> f_apf6 c_apf5
+ Data.Effect.Concurrent.Parallel: liftP2'' :: forall {k} (tag :: k) a b c1 f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c2 :: (Type -> Type) -> Constraint). (Free c2 ff, f ~ Eff ff es, Tagged tag Parallel :> es) => (a -> b -> c1) -> f a -> f b -> f c1
- Data.Effect.Concurrent.Parallel: liftP2'_ :: forall (a_X0 :: Type) (b_X1 :: Type) (c_apf5 :: Type) f_apf6 es_apsA ff_apsz c_apsB. (Free c_apsB ff_apsz, f_apf6 ~ Eff ff_apsz es_apsA, In Parallel es_apsA) => (a_X0 -> b_X1 -> c_apf5) -> f_apf6 a_X0 -> f_apf6 b_X1 -> f_apf6 c_apf5
+ Data.Effect.Concurrent.Parallel: liftP2'_ :: forall a b c1 f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c2 :: (Type -> Type) -> Constraint). (Free c2 ff, f ~ Eff ff es, In Parallel es) => (a -> b -> c1) -> f a -> f b -> f c1
- Data.Effect.Concurrent.Parallel: liftP3 :: forall a b c d es ff con. (Parallel :> es, Free con ff) => (a -> b -> c -> d) -> Eff ff es a -> Eff ff es b -> Eff ff es c -> Eff ff es d
+ Data.Effect.Concurrent.Parallel: liftP3 :: forall a b c d (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (con :: (Type -> Type) -> Constraint). (Parallel :> es, Free con ff) => (a -> b -> c -> d) -> Eff ff es a -> Eff ff es b -> Eff ff es c -> Eff ff es d
- Data.Effect.Concurrent.Parallel: newtype Concurrently ff es a
+ Data.Effect.Concurrent.Parallel: newtype Concurrently (ff :: Type -> Type -> Type -> Type) (es :: [Effect]) a
- Data.Effect.Concurrent.Parallel: parallelToIO :: MonadUnliftIO m => Parallel ~~> m
+ Data.Effect.Concurrent.Parallel: parallelToIO :: forall (m :: Type -> Type). MonadUnliftIO m => Parallel ~~> m
- Data.Effect.Concurrent.Parallel: parallelToSequential :: Applicative (Eff ff es) => Parallel ~~> Eff ff es
+ Data.Effect.Concurrent.Parallel: parallelToSequential :: forall (ff :: (Type -> Type) -> Type -> Type) (es :: [Effect]). Applicative (Eff ff es) => Parallel ~~> Eff ff es
- Data.Effect.Concurrent.Parallel: poldl :: forall (a_X0 :: Type) (b_X1 :: Type) (r_aptt :: Type) f_apts es_aq4c ff_aq4b c_aq4d. (Free c_aq4d ff_aq4b, f_apts ~ Eff ff_aq4b es_aq4c, (:>) Poll es_aq4c) => (a_X0 -> Maybe b_X1 -> f_apts (Either r_aptt a_X0)) -> f_apts a_X0 -> f_apts b_X1 -> f_apts r_aptt
+ Data.Effect.Concurrent.Parallel: poldl :: forall a b r f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Poll :> es) => (a -> Maybe b -> f (Either r a)) -> f a -> f b -> f r
- Data.Effect.Concurrent.Parallel: poldl' :: forall key_aq4h (a_X0 :: Type) (b_X1 :: Type) (r_aptt :: Type) f_apts es_aq4j ff_aq4i c_aq4k. (Free c_aq4k ff_aq4i, f_apts ~ Eff ff_aq4i es_aq4j, Has key_aq4h Poll es_aq4j) => (a_X0 -> Maybe b_X1 -> f_apts (Either r_aptt a_X0)) -> f_apts a_X0 -> f_apts b_X1 -> f_apts r_aptt
+ Data.Effect.Concurrent.Parallel: poldl' :: forall {k} (key :: k) a b r f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key Poll es) => (a -> Maybe b -> f (Either r a)) -> f a -> f b -> f r
- Data.Effect.Concurrent.Parallel: poldl'' :: forall tag_aq4o (a_X0 :: Type) (b_X1 :: Type) (r_aptt :: Type) f_apts es_aq4q ff_aq4p c_aq4r. (Free c_aq4r ff_aq4p, f_apts ~ Eff ff_aq4p es_aq4q, (:>) (Tagged tag_aq4o Poll) es_aq4q) => (a_X0 -> Maybe b_X1 -> f_apts (Either r_aptt a_X0)) -> f_apts a_X0 -> f_apts b_X1 -> f_apts r_aptt
+ Data.Effect.Concurrent.Parallel: poldl'' :: forall {k} (tag :: k) a b r f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag Poll :> es) => (a -> Maybe b -> f (Either r a)) -> f a -> f b -> f r
- Data.Effect.Concurrent.Parallel: poldl'_ :: forall (a_X0 :: Type) (b_X1 :: Type) (r_aptt :: Type) f_apts es_aq4w ff_aq4v c_aq4x. (Free c_aq4x ff_aq4v, f_apts ~ Eff ff_aq4v es_aq4w, In Poll es_aq4w) => (a_X0 -> Maybe b_X1 -> f_apts (Either r_aptt a_X0)) -> f_apts a_X0 -> f_apts b_X1 -> f_apts r_aptt
+ Data.Effect.Concurrent.Parallel: poldl'_ :: forall a b r f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In Poll es) => (a -> Maybe b -> f (Either r a)) -> f a -> f b -> f r
- Data.Effect.Concurrent.Parallel: pollToIO :: MonadUnliftIO m => Poll ~~> m
+ Data.Effect.Concurrent.Parallel: pollToIO :: forall (m :: Type -> Type). MonadUnliftIO m => Poll ~~> m
- Data.Effect.Concurrent.Parallel: race :: forall (a_apf0 :: Type) f_apeZ es_apsM ff_apsL c_apsN. (Free c_apsN ff_apsL, f_apeZ ~ Eff ff_apsL es_apsM, (:>) Race es_apsM) => f_apeZ a_apf0 -> f_apeZ a_apf0 -> f_apeZ a_apf0
+ Data.Effect.Concurrent.Parallel: race :: forall a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Race :> es) => f a -> f a -> f a
- Data.Effect.Concurrent.Parallel: race' :: forall key_apsQ (a_apf0 :: Type) f_apeZ es_apsS ff_apsR c_apsT. (Free c_apsT ff_apsR, f_apeZ ~ Eff ff_apsR es_apsS, Has key_apsQ Race es_apsS) => f_apeZ a_apf0 -> f_apeZ a_apf0 -> f_apeZ a_apf0
+ Data.Effect.Concurrent.Parallel: race' :: forall {k} (key :: k) a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key Race es) => f a -> f a -> f a
- Data.Effect.Concurrent.Parallel: race'' :: forall tag_apsW (a_apf0 :: Type) f_apeZ es_apsY ff_apsX c_apsZ. (Free c_apsZ ff_apsX, f_apeZ ~ Eff ff_apsX es_apsY, (:>) (Tagged tag_apsW Race) es_apsY) => f_apeZ a_apf0 -> f_apeZ a_apf0 -> f_apeZ a_apf0
+ Data.Effect.Concurrent.Parallel: race'' :: forall {k} (tag :: k) a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag Race :> es) => f a -> f a -> f a
- Data.Effect.Concurrent.Parallel: race'_ :: forall (a_apf0 :: Type) f_apeZ es_apt3 ff_apt2 c_apt4. (Free c_apt4 ff_apt2, f_apeZ ~ Eff ff_apt2 es_apt3, In Race es_apt3) => f_apeZ a_apf0 -> f_apeZ a_apf0 -> f_apeZ a_apf0
+ Data.Effect.Concurrent.Parallel: race'_ :: forall a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In Race es) => f a -> f a -> f a
- Data.Effect.Concurrent.Parallel: raceToIO :: MonadUnliftIO m => Race ~~> m
+ Data.Effect.Concurrent.Parallel: raceToIO :: forall (m :: Type -> Type). MonadUnliftIO m => Race ~~> m
- Data.Effect.Concurrent.Parallel: runConcurrentIO :: forall a es ff c. (UnliftIO :> es, Emb IO :> es, forall es'. Monad (Eff ff es'), Free c ff) => Eff ff (Parallel ': (Race ': (Poll ': (Halt ': es)))) a -> Eff ff es a
+ Data.Effect.Concurrent.Parallel: runConcurrentIO :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (UnliftIO :> es, Emb IO :> es, forall (es' :: [Effect]). () => Monad (Eff ff es'), Free c ff) => Eff ff (Parallel ': (Race ': (Poll ': (Halt ': es)))) a -> Eff ff es a
- Data.Effect.Concurrent.Parallel: runForAsParallel :: forall t a es ff c. (Parallel :> es, Traversable t, Applicative (Eff ff es), Free c ff) => Eff ff (For t ': es) a -> Eff ff es a
+ Data.Effect.Concurrent.Parallel: runForAsParallel :: forall (t :: Type -> Type) a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Parallel :> es, Traversable t, Applicative (Eff ff es), Free c ff) => Eff ff (For t ': es) a -> Eff ff es a
- Data.Effect.Concurrent.Parallel: runHaltIO :: forall a es ff c. (Emb IO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Halt ': es) a -> Eff ff es a
+ Data.Effect.Concurrent.Parallel: runHaltIO :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Emb IO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Halt ': es) a -> Eff ff es a
- Data.Effect.Concurrent.Parallel: runParallelAsSequential :: forall a es ff c. (Applicative (Eff ff es), Free c ff) => Eff ff (Parallel ': es) a -> Eff ff es a
+ Data.Effect.Concurrent.Parallel: runParallelAsSequential :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Applicative (Eff ff es), Free c ff) => Eff ff (Parallel ': es) a -> Eff ff es a
- Data.Effect.Concurrent.Parallel: runParallelIO :: forall a es ff c. (UnliftIO :> es, Emb IO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Parallel ': es) a -> Eff ff es a
+ Data.Effect.Concurrent.Parallel: runParallelIO :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (UnliftIO :> es, Emb IO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Parallel ': es) a -> Eff ff es a
- Data.Effect.Concurrent.Parallel: runPollIO :: forall a es ff c. (Emb IO :> es, UnliftIO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Poll ': es) a -> Eff ff es a
+ Data.Effect.Concurrent.Parallel: runPollIO :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Emb IO :> es, UnliftIO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Poll ': es) a -> Eff ff es a
- Data.Effect.Concurrent.Parallel: runRaceIO :: forall a es ff c. (Emb IO :> es, UnliftIO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Race ': es) a -> Eff ff es a
+ Data.Effect.Concurrent.Parallel: runRaceIO :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Emb IO :> es, UnliftIO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Race ': es) a -> Eff ff es a
- Data.Effect.Concurrent.Timer: [Clock] :: Timer f DiffTime
+ Data.Effect.Concurrent.Timer: [Clock] :: forall (a :: Type -> Type). Timer a DiffTime
- Data.Effect.Concurrent.Timer: [Sleep] :: DiffTime -> Timer f ()
+ Data.Effect.Concurrent.Timer: [Sleep] :: forall (a :: Type -> Type). DiffTime -> Timer a ()
- Data.Effect.Concurrent.Timer: [Wait] :: DiffTime -> CyclicTimer f ()
+ Data.Effect.Concurrent.Timer: [Wait] :: forall (a :: Type -> Type). DiffTime -> CyclicTimer a ()
- Data.Effect.Concurrent.Timer: clock :: forall f_aodC es_aog1 ff_aog0 c_aog2. (Free c_aog2 ff_aog0, f_aodC ~ Eff ff_aog0 es_aog1, (:>) Timer es_aog1) => f_aodC DiffTime
+ Data.Effect.Concurrent.Timer: clock :: forall f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Timer :> es) => f DiffTime
- Data.Effect.Concurrent.Timer: clock' :: forall key_aog3 f_aodC es_aog5 ff_aog4 c_aog6. (Free c_aog6 ff_aog4, f_aodC ~ Eff ff_aog4 es_aog5, Has key_aog3 Timer es_aog5) => f_aodC DiffTime
+ Data.Effect.Concurrent.Timer: clock' :: forall {k} (key :: k) f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key Timer es) => f DiffTime
- Data.Effect.Concurrent.Timer: clock'' :: forall tag_aog7 f_aodC es_aog9 ff_aog8 c_aoga. (Free c_aoga ff_aog8, f_aodC ~ Eff ff_aog8 es_aog9, (:>) (Tagged tag_aog7 Timer) es_aog9) => f_aodC DiffTime
+ Data.Effect.Concurrent.Timer: clock'' :: forall {k} (tag :: k) f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag Timer :> es) => f DiffTime
- Data.Effect.Concurrent.Timer: clock'_ :: forall f_aodC es_aogc ff_aogb c_aogd. (Free c_aogd ff_aogb, f_aodC ~ Eff ff_aogb es_aogc, In Timer es_aogc) => f_aodC DiffTime
+ Data.Effect.Concurrent.Timer: clock'_ :: forall f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In Timer es) => f DiffTime
- Data.Effect.Concurrent.Timer: cyclicTimer :: forall a es ff c. (Timer :> es, Yield () DiffTime :> es, Monad (Eff ff es), Free c ff) => Eff ff es a
+ Data.Effect.Concurrent.Timer: cyclicTimer :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Timer :> es, Yield () DiffTime :> es, Monad (Eff ff es), Free c ff) => Eff ff es a
- Data.Effect.Concurrent.Timer: data CyclicTimer :: Effect
+ Data.Effect.Concurrent.Timer: data CyclicTimer (a :: Type -> Type) b
- Data.Effect.Concurrent.Timer: data Timer :: Effect
+ Data.Effect.Concurrent.Timer: data Timer (a :: Type -> Type) b
- Data.Effect.Concurrent.Timer: measureTime :: forall a es ff c. (Timer :> es, Monad (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es (DiffTime, a)
+ Data.Effect.Concurrent.Timer: measureTime :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Timer :> es, Monad (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es (DiffTime, a)
- Data.Effect.Concurrent.Timer: periodicTimer :: forall a es ff c. (Timer :> es, Yield () () :> es, Monad (Eff ff es), Free c ff) => DiffTime -> Eff ff es a
+ Data.Effect.Concurrent.Timer: periodicTimer :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Timer :> es, Yield () () :> es, Monad (Eff ff es), Free c ff) => DiffTime -> Eff ff es a
- Data.Effect.Concurrent.Timer: restartClock :: forall a ff es c. (Timer :> es, Monad (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es a
+ Data.Effect.Concurrent.Timer: restartClock :: forall a (ff :: (Type -> Type) -> Type -> Type) (es :: [Effect]) (c :: (Type -> Type) -> Constraint). (Timer :> es, Monad (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es a
- Data.Effect.Concurrent.Timer: runCyclic :: forall a es ff c. (Timer :> es, Monad (Eff ff es), Free c ff) => Eff ff es DiffTime -> Eff ff es () -> Eff ff es a
+ Data.Effect.Concurrent.Timer: runCyclic :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Timer :> es, Monad (Eff ff es), Free c ff) => Eff ff es DiffTime -> Eff ff es () -> Eff ff es a
- Data.Effect.Concurrent.Timer: runPeriodic :: forall a es ff c. (Timer :> es, Monad (Eff ff es), Free c ff) => DiffTime -> Eff ff es () -> Eff ff es a
+ Data.Effect.Concurrent.Timer: runPeriodic :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Timer :> es, Monad (Eff ff es), Free c ff) => DiffTime -> Eff ff es () -> Eff ff es a
- Data.Effect.Concurrent.Timer: runTimerIO :: forall a ff es c. (Emb IO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Timer ': es) a -> Eff ff es a
+ Data.Effect.Concurrent.Timer: runTimerIO :: forall a (ff :: (Type -> Type) -> Type -> Type) (es :: [Effect]) (c :: (Type -> Type) -> Constraint). (Emb IO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Timer ': es) a -> Eff ff es a
- Data.Effect.Concurrent.Timer: sleep :: forall f_aofc es_aogf ff_aoge c_aogg. (Free c_aogg ff_aoge, f_aofc ~ Eff ff_aoge es_aogf, (:>) Timer es_aogf) => DiffTime -> f_aofc ()
+ Data.Effect.Concurrent.Timer: sleep :: forall f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Timer :> es) => DiffTime -> f ()
- Data.Effect.Concurrent.Timer: sleep' :: forall key_aogi f_aofc es_aogk ff_aogj c_aogl. (Free c_aogl ff_aogj, f_aofc ~ Eff ff_aogj es_aogk, Has key_aogi Timer es_aogk) => DiffTime -> f_aofc ()
+ Data.Effect.Concurrent.Timer: sleep' :: forall {k} (key :: k) f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key Timer es) => DiffTime -> f ()
- Data.Effect.Concurrent.Timer: sleep'' :: forall tag_aogn f_aofc es_aogp ff_aogo c_aogq. (Free c_aogq ff_aogo, f_aofc ~ Eff ff_aogo es_aogp, (:>) (Tagged tag_aogn Timer) es_aogp) => DiffTime -> f_aofc ()
+ Data.Effect.Concurrent.Timer: sleep'' :: forall {k} (tag :: k) f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag Timer :> es) => DiffTime -> f ()
- Data.Effect.Concurrent.Timer: sleep'_ :: forall f_aofc es_aogt ff_aogs c_aogu. (Free c_aogu ff_aogs, f_aofc ~ Eff ff_aogs es_aogt, In Timer es_aogt) => DiffTime -> f_aofc ()
+ Data.Effect.Concurrent.Timer: sleep'_ :: forall f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In Timer es) => DiffTime -> f ()
- Data.Effect.Concurrent.Timer: sleepUntil :: forall es ff c. (Timer :> es, Monad (Eff ff es), Free c ff) => DiffTime -> Eff ff es (Maybe DiffTime)
+ Data.Effect.Concurrent.Timer: sleepUntil :: forall (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Timer :> es, Monad (Eff ff es), Free c ff) => DiffTime -> Eff ff es (Maybe DiffTime)
- Data.Effect.Concurrent.Timer: wait :: forall f_aogQ es_aoSy ff_aoSx c_aoSz. (Free c_aoSz ff_aoSx, f_aogQ ~ Eff ff_aoSx es_aoSy, (:>) CyclicTimer es_aoSy) => DiffTime -> f_aogQ ()
+ Data.Effect.Concurrent.Timer: wait :: forall f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, CyclicTimer :> es) => DiffTime -> f ()
- Data.Effect.Concurrent.Timer: wait' :: forall key_aoSB f_aogQ es_aoSD ff_aoSC c_aoSE. (Free c_aoSE ff_aoSC, f_aogQ ~ Eff ff_aoSC es_aoSD, Has key_aoSB CyclicTimer es_aoSD) => DiffTime -> f_aogQ ()
+ Data.Effect.Concurrent.Timer: wait' :: forall {k} (key :: k) f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key CyclicTimer es) => DiffTime -> f ()
- Data.Effect.Concurrent.Timer: wait'' :: forall tag_aoSG f_aogQ es_aoSI ff_aoSH c_aoSJ. (Free c_aoSJ ff_aoSH, f_aogQ ~ Eff ff_aoSH es_aoSI, (:>) (Tagged tag_aoSG CyclicTimer) es_aoSI) => DiffTime -> f_aogQ ()
+ Data.Effect.Concurrent.Timer: wait'' :: forall {k} (tag :: k) f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag CyclicTimer :> es) => DiffTime -> f ()
- Data.Effect.Concurrent.Timer: wait'_ :: forall f_aogQ es_aoSM ff_aoSL c_aoSN. (Free c_aoSN ff_aoSL, f_aogQ ~ Eff ff_aoSL es_aoSM, In CyclicTimer es_aoSM) => DiffTime -> f_aogQ ()
+ Data.Effect.Concurrent.Timer: wait'_ :: forall f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In CyclicTimer es) => DiffTime -> f ()
- Data.Effect.Concurrent.Timer: withElapsedTime :: forall a es ff c. (Timer :> es, Monad (Eff ff es), Free c ff) => (Eff ff es DiffTime -> Eff ff es a) -> Eff ff es a
+ Data.Effect.Concurrent.Timer: withElapsedTime :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Timer :> es, Monad (Eff ff es), Free c ff) => (Eff ff es DiffTime -> Eff ff es a) -> Eff ff es a
- Data.Effect.Coroutine: Continue :: a -> (b -> f (Status f a b r)) -> Status f a b r
+ Data.Effect.Coroutine: Continue :: a -> (b -> f (Status f a b r)) -> Status (f :: Type -> Type) a b r
- Data.Effect.Coroutine: Done :: r -> Status f a b r
+ Data.Effect.Coroutine: Done :: r -> Status (f :: Type -> Type) a b r
- Data.Effect.Coroutine: [Yield] :: a -> Yield a b f b
+ Data.Effect.Coroutine: [Yield] :: forall a b (c :: Type -> Type). a -> Yield a b c b
- Data.Effect.Coroutine: data Status f a b r
+ Data.Effect.Coroutine: data Status (f :: Type -> Type) a b r
- Data.Effect.Coroutine: data Yield a b :: Effect
+ Data.Effect.Coroutine: data Yield a b (c :: Type -> Type) d
- Data.Effect.Coroutine: inputToYield :: Input i f a -> Yield () i f a
+ Data.Effect.Coroutine: inputToYield :: forall i (f :: Type -> Type) a. Input i f a -> Yield () i f a
- Data.Effect.Coroutine: outputToYield :: Output o f a -> Yield o () f a
+ Data.Effect.Coroutine: outputToYield :: forall o (f :: Type -> Type) a. Output o f a -> Yield o () f a
- Data.Effect.Coroutine: yield :: forall (a_antM :: Type) (b_antN :: Type) f_antO es_anuC ff_anuB c_anuD. (Free c_anuD ff_anuB, f_antO ~ Eff ff_anuB es_anuC, (:>) (Yield a_antM b_antN) es_anuC) => a_antM -> f_antO b_antN
+ Data.Effect.Coroutine: yield :: forall a b f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Yield a b :> es) => a -> f b
- Data.Effect.Coroutine: yield' :: forall key_anuF (a_antM :: Type) (b_antN :: Type) f_antO es_anuH ff_anuG c_anuI. (Free c_anuI ff_anuG, f_antO ~ Eff ff_anuG es_anuH, Has key_anuF (Yield a_antM b_antN) es_anuH) => a_antM -> f_antO b_antN
+ Data.Effect.Coroutine: yield' :: forall {k} (key :: k) a b f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Yield a b) es) => a -> f b
- Data.Effect.Coroutine: yield'' :: forall tag_anuK (a_antM :: Type) (b_antN :: Type) f_antO es_anuM ff_anuL c_anuN. (Free c_anuN ff_anuL, f_antO ~ Eff ff_anuL es_anuM, (:>) (Tagged tag_anuK (Yield a_antM b_antN)) es_anuM) => a_antM -> f_antO b_antN
+ Data.Effect.Coroutine: yield'' :: forall {k} (tag :: k) a b f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Yield a b) :> es) => a -> f b
- Data.Effect.Coroutine: yield'_ :: forall (a_antM :: Type) (b_antN :: Type) f_antO es_anuQ ff_anuP c_anuR. (Free c_anuR ff_anuP, f_antO ~ Eff ff_anuP es_anuQ, In (Yield a_antM b_antN) es_anuQ) => a_antM -> f_antO b_antN
+ Data.Effect.Coroutine: yield'_ :: forall a b f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Yield a b) es) => a -> f b
- Data.Effect.Except: catch :: forall (b_alSP :: Type) (e_alSN :: Type) a_alSO es_alSU ff_alST c_alSV. (Free c_alSV ff_alST, a_alSO ~ Eff ff_alST es_alSU, (:>) (Catch e_alSN) es_alSU) => a_alSO b_alSP -> (e_alSN -> a_alSO b_alSP) -> a_alSO b_alSP
+ Data.Effect.Except: catch :: forall b e a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Catch e :> es) => a b -> (e -> a b) -> a b
- Data.Effect.Except: catch' :: forall key_alSY (b_alSP :: Type) (e_alSN :: Type) a_alSO es_alT0 ff_alSZ c_alT1. (Free c_alT1 ff_alSZ, a_alSO ~ Eff ff_alSZ es_alT0, Has key_alSY (Catch e_alSN) es_alT0) => a_alSO b_alSP -> (e_alSN -> a_alSO b_alSP) -> a_alSO b_alSP
+ Data.Effect.Except: catch' :: forall {k} (key :: k) b e a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (Catch e) es) => a b -> (e -> a b) -> a b
- Data.Effect.Except: catch'' :: forall tag_alT4 (b_alSP :: Type) (e_alSN :: Type) a_alSO es_alT6 ff_alT5 c_alT7. (Free c_alT7 ff_alT5, a_alSO ~ Eff ff_alT5 es_alT6, (:>) (Tagged tag_alT4 (Catch e_alSN)) es_alT6) => a_alSO b_alSP -> (e_alSN -> a_alSO b_alSP) -> a_alSO b_alSP
+ Data.Effect.Except: catch'' :: forall {k} (tag :: k) b e a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (Catch e) :> es) => a b -> (e -> a b) -> a b
- Data.Effect.Except: catch'_ :: forall (b_alSP :: Type) (e_alSN :: Type) a_alSO es_alTb ff_alTa c_alTc. (Free c_alTc ff_alTa, a_alSO ~ Eff ff_alTa es_alTb, In (Catch e_alSN) es_alTb) => a_alSO b_alSP -> (e_alSN -> a_alSO b_alSP) -> a_alSO b_alSP
+ Data.Effect.Except: catch'_ :: forall b e a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (Catch e) es) => a b -> (e -> a b) -> a b
- Data.Effect.Except: data () => Catch e (a :: Type -> Type) b
+ Data.Effect.Except: data Catch e (a :: Type -> Type) b
- Data.Effect.Except: data () => Throw e (a :: Type -> Type) b
+ Data.Effect.Except: data Throw e (a :: Type -> Type) b
- Data.Effect.Except: joinEither :: forall e es a ff c. (Throw e :> es, Monad (Eff ff es), Free c ff) => Eff ff es (Either e a) -> Eff ff es a
+ Data.Effect.Except: joinEither :: forall e (es :: [Effect]) a (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Throw e :> es, Monad (Eff ff es), Free c ff) => Eff ff es (Either e a) -> Eff ff es a
- Data.Effect.Except: liftEither :: forall e es a ff c. (Throw e :> es, Applicative (Eff ff es), Free c ff) => Either e a -> Eff ff es a
+ Data.Effect.Except: liftEither :: forall e (es :: [Effect]) a (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Throw e :> es, Applicative (Eff ff es), Free c ff) => Either e a -> Eff ff es a
- Data.Effect.Except: onExcept :: forall e es ff a c. (Catch e :> es, Throw e :> es, Applicative (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es () -> Eff ff es a
+ Data.Effect.Except: onExcept :: forall e (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Catch e :> es, Throw e :> es, Applicative (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es () -> Eff ff es a
- Data.Effect.Except: runCatchIO :: forall e es ff a c. (UnliftIO :> es, Emb IO :> es, Exception e, Monad (Eff ff es), Free c ff) => Eff ff (Catch e ': es) a -> Eff ff es a
+ Data.Effect.Except: runCatchIO :: forall e (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (UnliftIO :> es, Emb IO :> es, Exception e, Monad (Eff ff es), Free c ff) => Eff ff (Catch e ': es) a -> Eff ff es a
- Data.Effect.Except: runThrowIO :: forall e es ff a c. (Emb IO :> es, Exception e, Monad (Eff ff es), Free c ff) => Eff ff (Throw e ': es) a -> Eff ff es a
+ Data.Effect.Except: runThrowIO :: forall e (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Emb IO :> es, Exception e, Monad (Eff ff es), Free c ff) => Eff ff (Throw e ': es) a -> Eff ff es a
- Data.Effect.Except: throw :: forall (e_alHI :: Type) (b_alHK :: Type) a_alHJ es_alHQ ff_alHP c_alHR. (Free c_alHR ff_alHP, a_alHJ ~ Eff ff_alHP es_alHQ, (:>) (Throw e_alHI) es_alHQ) => e_alHI -> a_alHJ b_alHK
+ Data.Effect.Except: throw :: forall e b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Throw e :> es) => e -> a b
- Data.Effect.Except: throw' :: forall key_alHT (e_alHI :: Type) (b_alHK :: Type) a_alHJ es_alHV ff_alHU c_alHW. (Free c_alHW ff_alHU, a_alHJ ~ Eff ff_alHU es_alHV, Has key_alHT (Throw e_alHI) es_alHV) => e_alHI -> a_alHJ b_alHK
+ Data.Effect.Except: throw' :: forall {k} (key :: k) e b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (Throw e) es) => e -> a b
- Data.Effect.Except: throw'' :: forall tag_alHY (e_alHI :: Type) (b_alHK :: Type) a_alHJ es_alI0 ff_alHZ c_alI1. (Free c_alI1 ff_alHZ, a_alHJ ~ Eff ff_alHZ es_alI0, (:>) (Tagged tag_alHY (Throw e_alHI)) es_alI0) => e_alHI -> a_alHJ b_alHK
+ Data.Effect.Except: throw'' :: forall {k} (tag :: k) e b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (Throw e) :> es) => e -> a b
- Data.Effect.Except: throw'_ :: forall (e_alHI :: Type) (b_alHK :: Type) a_alHJ es_alI4 ff_alI3 c_alI5. (Free c_alI5 ff_alI3, a_alHJ ~ Eff ff_alI3 es_alI4, In (Throw e_alHI) es_alI4) => e_alHI -> a_alHJ b_alHK
+ Data.Effect.Except: throw'_ :: forall e b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (Throw e) es) => e -> a b
- Data.Effect.Except: withExcept :: forall e es a ff c. (Catch e :> es, Throw e :> es, Applicative (Eff ff es), Free c ff) => Eff ff es a -> (e -> Eff ff es ()) -> Eff ff es a
+ Data.Effect.Except: withExcept :: forall e (es :: [Effect]) a (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Catch e :> es, Throw e :> es, Applicative (Eff ff es), Free c ff) => Eff ff es a -> (e -> Eff ff es ()) -> Eff ff es a
- Data.Effect.Fail: data () => Fail (a :: Type -> Type) b
+ Data.Effect.Fail: data Fail (a :: Type -> Type) b
- Data.Effect.Fail: fail :: forall (b_aluG :: Type) a_aluF es_aluL ff_aluK c_aluM. (Free c_aluM ff_aluK, a_aluF ~ Eff ff_aluK es_aluL, (:>) Fail es_aluL) => String -> a_aluF b_aluG
+ Data.Effect.Fail: fail :: forall b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Fail :> es) => String -> a b
- Data.Effect.Fail: fail' :: forall key_aluO (b_aluG :: Type) a_aluF es_aluQ ff_aluP c_aluR. (Free c_aluR ff_aluP, a_aluF ~ Eff ff_aluP es_aluQ, Has key_aluO Fail es_aluQ) => String -> a_aluF b_aluG
+ Data.Effect.Fail: fail' :: forall {k} (key :: k) b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key Fail es) => String -> a b
- Data.Effect.Fail: fail'' :: forall tag_aluT (b_aluG :: Type) a_aluF es_aluV ff_aluU c_aluW. (Free c_aluW ff_aluU, a_aluF ~ Eff ff_aluU es_aluV, (:>) (Tagged tag_aluT Fail) es_aluV) => String -> a_aluF b_aluG
+ Data.Effect.Fail: fail'' :: forall {k} (tag :: k) b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag Fail :> es) => String -> a b
- Data.Effect.Fail: fail'_ :: forall (b_aluG :: Type) a_aluF es_aluZ ff_aluY c_alv0. (Free c_alv0 ff_aluY, a_aluF ~ Eff ff_aluY es_aluZ, In Fail es_aluZ) => String -> a_aluF b_aluG
+ Data.Effect.Fail: fail'_ :: forall b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In Fail es) => String -> a b
- Data.Effect.Fail: runFailIO :: forall es a ff c. (Emb IO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Fail ': es) a -> Eff ff es a
+ Data.Effect.Fail: runFailIO :: forall (es :: [Effect]) a (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Emb IO :> es, Monad (Eff ff es), Free c ff) => Eff ff (Fail ': es) a -> Eff ff es a
- Data.Effect.Fix: data () => Fix (a :: Type -> Type) b
+ Data.Effect.Fix: data Fix (a :: Type -> Type) b
- Data.Effect.Fix: efix :: forall (b_aljK :: Type) a_aljJ es_aljO ff_aljN c_aljP. (Free c_aljP ff_aljN, a_aljJ ~ Eff ff_aljN es_aljO, (:>) Fix es_aljO) => (b_aljK -> a_aljJ b_aljK) -> a_aljJ b_aljK
+ Data.Effect.Fix: efix :: forall b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Fix :> es) => (b -> a b) -> a b
- Data.Effect.Fix: efix' :: forall key_aljR (b_aljK :: Type) a_aljJ es_aljT ff_aljS c_aljU. (Free c_aljU ff_aljS, a_aljJ ~ Eff ff_aljS es_aljT, Has key_aljR Fix es_aljT) => (b_aljK -> a_aljJ b_aljK) -> a_aljJ b_aljK
+ Data.Effect.Fix: efix' :: forall {k} (key :: k) b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key Fix es) => (b -> a b) -> a b
- Data.Effect.Fix: efix'' :: forall tag_aljW (b_aljK :: Type) a_aljJ es_aljY ff_aljX c_aljZ. (Free c_aljZ ff_aljX, a_aljJ ~ Eff ff_aljX es_aljY, (:>) (Tagged tag_aljW Fix) es_aljY) => (b_aljK -> a_aljJ b_aljK) -> a_aljJ b_aljK
+ Data.Effect.Fix: efix'' :: forall {k} (tag :: k) b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag Fix :> es) => (b -> a b) -> a b
- Data.Effect.Fix: efix'_ :: forall (b_aljK :: Type) a_aljJ es_alk2 ff_alk1 c_alk3. (Free c_alk3 ff_alk1, a_aljJ ~ Eff ff_alk1 es_alk2, In Fix es_alk2) => (b_aljK -> a_aljJ b_aljK) -> a_aljJ b_aljK
+ Data.Effect.Fix: efix'_ :: forall b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In Fix es) => (b -> a b) -> a b
- Data.Effect.Fresh: [Fresh] :: Fresh i f i
+ Data.Effect.Fresh: [Fresh] :: forall i (a :: Type -> Type). Fresh i a i
- Data.Effect.Fresh: data Fresh i :: Effect
+ Data.Effect.Fresh: data Fresh i (a :: Type -> Type) b
- Data.Effect.Fresh: fresh :: forall (i_al7q :: Type) f_al7r es_al85 ff_al84 c_al86. (Free c_al86 ff_al84, f_al7r ~ Eff ff_al84 es_al85, (:>) (Fresh i_al7q) es_al85) => f_al7r i_al7q
+ Data.Effect.Fresh: fresh :: forall i f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Fresh i :> es) => f i
- Data.Effect.Fresh: fresh' :: forall key_al87 (i_al7q :: Type) f_al7r es_al89 ff_al88 c_al8a. (Free c_al8a ff_al88, f_al7r ~ Eff ff_al88 es_al89, Has key_al87 (Fresh i_al7q) es_al89) => f_al7r i_al7q
+ Data.Effect.Fresh: fresh' :: forall {k} (key :: k) i f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Fresh i) es) => f i
- Data.Effect.Fresh: fresh'' :: forall tag_al8b (i_al7q :: Type) f_al7r es_al8d ff_al8c c_al8e. (Free c_al8e ff_al8c, f_al7r ~ Eff ff_al8c es_al8d, (:>) (Tagged tag_al8b (Fresh i_al7q)) es_al8d) => f_al7r i_al7q
+ Data.Effect.Fresh: fresh'' :: forall {k} (tag :: k) i f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Fresh i) :> es) => f i
- Data.Effect.Fresh: fresh'_ :: forall (i_al7q :: Type) f_al7r es_al8g ff_al8f c_al8h. (Free c_al8h ff_al8f, f_al7r ~ Eff ff_al8f es_al8g, In (Fresh i_al7q) es_al8g) => f_al7r i_al7q
+ Data.Effect.Fresh: fresh'_ :: forall i f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Fresh i) es) => f i
- Data.Effect.Input: [Input] :: Input i f i
+ Data.Effect.Input: [Input] :: forall i (a :: Type -> Type). Input i a i
- Data.Effect.Input: data Input i :: Effect
+ Data.Effect.Input: data Input i (a :: Type -> Type) b
- Data.Effect.Input: input :: forall (i_akGL :: Type) f_akGM es_akHq ff_akHp c_akHr. (Free c_akHr ff_akHp, f_akGM ~ Eff ff_akHp es_akHq, (:>) (Input i_akGL) es_akHq) => f_akGM i_akGL
+ Data.Effect.Input: input :: forall i f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Input i :> es) => f i
- Data.Effect.Input: input' :: forall key_akHs (i_akGL :: Type) f_akGM es_akHu ff_akHt c_akHv. (Free c_akHv ff_akHt, f_akGM ~ Eff ff_akHt es_akHu, Has key_akHs (Input i_akGL) es_akHu) => f_akGM i_akGL
+ Data.Effect.Input: input' :: forall {k} (key :: k) i f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Input i) es) => f i
- Data.Effect.Input: input'' :: forall tag_akHw (i_akGL :: Type) f_akGM es_akHy ff_akHx c_akHz. (Free c_akHz ff_akHx, f_akGM ~ Eff ff_akHx es_akHy, (:>) (Tagged tag_akHw (Input i_akGL)) es_akHy) => f_akGM i_akGL
+ Data.Effect.Input: input'' :: forall {k} (tag :: k) i f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Input i) :> es) => f i
- Data.Effect.Input: input'_ :: forall (i_akGL :: Type) f_akGM es_akHB ff_akHA c_akHC. (Free c_akHC ff_akHA, f_akGM ~ Eff ff_akHA es_akHB, In (Input i_akGL) es_akHB) => f_akGM i_akGL
+ Data.Effect.Input: input'_ :: forall i f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Input i) es) => f i
- Data.Effect.Input: inputs :: forall i es ff a c. (Input i :> es, Functor (Eff ff es), Free c ff) => (i -> a) -> Eff ff es a
+ Data.Effect.Input: inputs :: forall i (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Input i :> es, Functor (Eff ff es), Free c ff) => (i -> a) -> Eff ff es a
- Data.Effect.Input: runInputConst :: forall i es ff a c. (Applicative (Eff ff es), Free c ff) => i -> Eff ff (Input i ': es) a -> Eff ff es a
+ Data.Effect.Input: runInputConst :: forall i (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Applicative (Eff ff es), Free c ff) => i -> Eff ff (Input i ': es) a -> Eff ff es a
- Data.Effect.Input: runInputEff :: forall i es ff a c. Free c ff => Eff ff es i -> Eff ff (Input i ': es) a -> Eff ff es a
+ Data.Effect.Input: runInputEff :: forall i (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). Free c ff => Eff ff es i -> Eff ff (Input i ': es) a -> Eff ff es a
- Data.Effect.KVStore: [LookupKV] :: k -> KVStore k v f (Maybe v)
+ Data.Effect.KVStore: [LookupKV] :: forall k v (a :: Type -> Type). k -> KVStore k v a (Maybe v)
- Data.Effect.KVStore: [UpdateKV] :: k -> Maybe v -> KVStore k v f ()
+ Data.Effect.KVStore: [UpdateKV] :: forall k v (a :: Type -> Type). k -> Maybe v -> KVStore k v a ()
- Data.Effect.KVStore: data KVStore k v :: Effect
+ Data.Effect.KVStore: data KVStore k v (a :: Type -> Type) b
- Data.Effect.KVStore: deleteKV :: forall v k es ff c. (KVStore k v :> es, Free c ff) => k -> Eff ff es ()
+ Data.Effect.KVStore: deleteKV :: forall v k (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (KVStore k v :> es, Free c ff) => k -> Eff ff es ()
- Data.Effect.KVStore: existsKV :: forall v k es ff c. (KVStore k v :> es, Functor (Eff ff es), Free c ff) => k -> Eff ff es Bool
+ Data.Effect.KVStore: existsKV :: forall v k (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (KVStore k v :> es, Functor (Eff ff es), Free c ff) => k -> Eff ff es Bool
- Data.Effect.KVStore: lookupKV :: forall (k_amKI :: Type) (v_amKJ :: Type) f_amKK es_amM7 ff_amM6 c_amM8. (Free c_amM8 ff_amM6, f_amKK ~ Eff ff_amM6 es_amM7, (:>) (KVStore k_amKI v_amKJ) es_amM7) => k_amKI -> f_amKK (Maybe v_amKJ)
+ Data.Effect.KVStore: lookupKV :: forall k v f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, KVStore k v :> es) => k -> f (Maybe v)
- Data.Effect.KVStore: lookupKV' :: forall key_amMa (k_amKI :: Type) (v_amKJ :: Type) f_amKK es_amMc ff_amMb c_amMd. (Free c_amMd ff_amMb, f_amKK ~ Eff ff_amMb es_amMc, Has key_amMa (KVStore k_amKI v_amKJ) es_amMc) => k_amKI -> f_amKK (Maybe v_amKJ)
+ Data.Effect.KVStore: lookupKV' :: forall {k1} (key :: k1) k2 v f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (KVStore k2 v) es) => k2 -> f (Maybe v)
- Data.Effect.KVStore: lookupKV'' :: forall tag_amMf (k_amKI :: Type) (v_amKJ :: Type) f_amKK es_amMh ff_amMg c_amMi. (Free c_amMi ff_amMg, f_amKK ~ Eff ff_amMg es_amMh, (:>) (Tagged tag_amMf (KVStore k_amKI v_amKJ)) es_amMh) => k_amKI -> f_amKK (Maybe v_amKJ)
+ Data.Effect.KVStore: lookupKV'' :: forall {k1} (tag :: k1) k2 v f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (KVStore k2 v) :> es) => k2 -> f (Maybe v)
- Data.Effect.KVStore: lookupKV'_ :: forall (k_amKI :: Type) (v_amKJ :: Type) f_amKK es_amMl ff_amMk c_amMm. (Free c_amMm ff_amMk, f_amKK ~ Eff ff_amMk es_amMl, In (KVStore k_amKI v_amKJ) es_amMl) => k_amKI -> f_amKK (Maybe v_amKJ)
+ Data.Effect.KVStore: lookupKV'_ :: forall k v f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (KVStore k v) es) => k -> f (Maybe v)
- Data.Effect.KVStore: lookupOrThrowKV :: forall k v e es ff c. (KVStore k v :> es, Throw e :> es, Monad (Eff ff es), Free c ff) => (k -> e) -> k -> Eff ff es v
+ Data.Effect.KVStore: lookupOrThrowKV :: forall k v e (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (KVStore k v :> es, Throw e :> es, Monad (Eff ff es), Free c ff) => (k -> e) -> k -> Eff ff es v
- Data.Effect.KVStore: modifyKV :: forall k v es ff c. (KVStore k v :> es, Monad (Eff ff es), Free c ff) => v -> (v -> v) -> k -> Eff ff es ()
+ Data.Effect.KVStore: modifyKV :: forall k v (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (KVStore k v :> es, Monad (Eff ff es), Free c ff) => v -> (v -> v) -> k -> Eff ff es ()
- Data.Effect.KVStore: runKVStoreAsState :: forall k v es ff c. (Ord k, State (Map k v) :> es, Monad (Eff ff es), Free c ff) => Eff ff (KVStore k v ': es) ~> Eff ff es
+ Data.Effect.KVStore: runKVStoreAsState :: forall k v (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Ord k, State (Map k v) :> es, Monad (Eff ff es), Free c ff) => Eff ff (KVStore k v ': es) ~> Eff ff es
- Data.Effect.KVStore: runKVStoreIORef :: forall k v a es ff c. (Ord k, Emb IO :> es, forall es'. Monad (Eff ff es'), Free c ff) => Map k v -> Eff ff (KVStore k v ': es) a -> Eff ff es (Map k v, a)
+ Data.Effect.KVStore: runKVStoreIORef :: forall k v a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Ord k, Emb IO :> es, forall (es' :: [Effect]). () => Monad (Eff ff es'), Free c ff) => Map k v -> Eff ff (KVStore k v ': es) a -> Eff ff es (Map k v, a)
- Data.Effect.KVStore: updateKV :: forall (k_amKL :: Type) (v_amKM :: Type) f_amKN es_amMp ff_amMo c_amMq. (Free c_amMq ff_amMo, f_amKN ~ Eff ff_amMo es_amMp, (:>) (KVStore k_amKL v_amKM) es_amMp) => k_amKL -> Maybe v_amKM -> f_amKN ()
+ Data.Effect.KVStore: updateKV :: forall k v f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, KVStore k v :> es) => k -> Maybe v -> f ()
- Data.Effect.KVStore: updateKV' :: forall key_amMt (k_amKL :: Type) (v_amKM :: Type) f_amKN es_amMv ff_amMu c_amMw. (Free c_amMw ff_amMu, f_amKN ~ Eff ff_amMu es_amMv, Has key_amMt (KVStore k_amKL v_amKM) es_amMv) => k_amKL -> Maybe v_amKM -> f_amKN ()
+ Data.Effect.KVStore: updateKV' :: forall {k1} (key :: k1) k2 v f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (KVStore k2 v) es) => k2 -> Maybe v -> f ()
- Data.Effect.KVStore: updateKV'' :: forall tag_amMz (k_amKL :: Type) (v_amKM :: Type) f_amKN es_amMB ff_amMA c_amMC. (Free c_amMC ff_amMA, f_amKN ~ Eff ff_amMA es_amMB, (:>) (Tagged tag_amMz (KVStore k_amKL v_amKM)) es_amMB) => k_amKL -> Maybe v_amKM -> f_amKN ()
+ Data.Effect.KVStore: updateKV'' :: forall {k1} (tag :: k1) k2 v f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (KVStore k2 v) :> es) => k2 -> Maybe v -> f ()
- Data.Effect.KVStore: updateKV'_ :: forall (k_amKL :: Type) (v_amKM :: Type) f_amKN es_amMG ff_amMF c_amMH. (Free c_amMH ff_amMF, f_amKN ~ Eff ff_amMF es_amMG, In (KVStore k_amKL v_amKM) es_amMG) => k_amKL -> Maybe v_amKM -> f_amKN ()
+ Data.Effect.KVStore: updateKV'_ :: forall k v f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (KVStore k v) es) => k -> Maybe v -> f ()
- Data.Effect.KVStore: writeKV :: forall k v es ff c. (KVStore k v :> es, Free c ff) => k -> v -> Eff ff es ()
+ Data.Effect.KVStore: writeKV :: forall k v (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (KVStore k v :> es, Free c ff) => k -> v -> Eff ff es ()
- Data.Effect.Log: [Log] :: msg -> Log msg f ()
+ Data.Effect.Log: [Log] :: forall msg (a :: Type -> Type). msg -> Log msg a ()
- Data.Effect.Log: data Log msg :: Effect
+ Data.Effect.Log: data Log msg (a :: Type -> Type) b
- Data.Effect.Log: log :: forall (msg_aklJ :: Type) f_aklK es_akmr ff_akmq c_akms. (Free c_akms ff_akmq, f_aklK ~ Eff ff_akmq es_akmr, (:>) (Log msg_aklJ) es_akmr) => msg_aklJ -> f_aklK ()
+ Data.Effect.Log: log :: forall msg f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Log msg :> es) => msg -> f ()
- Data.Effect.Log: log' :: forall key_akmu (msg_aklJ :: Type) f_aklK es_akmw ff_akmv c_akmx. (Free c_akmx ff_akmv, f_aklK ~ Eff ff_akmv es_akmw, Has key_akmu (Log msg_aklJ) es_akmw) => msg_aklJ -> f_aklK ()
+ Data.Effect.Log: log' :: forall {k} (key :: k) msg f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Log msg) es) => msg -> f ()
- Data.Effect.Log: log'' :: forall tag_akmz (msg_aklJ :: Type) f_aklK es_akmB ff_akmA c_akmC. (Free c_akmC ff_akmA, f_aklK ~ Eff ff_akmA es_akmB, (:>) (Tagged tag_akmz (Log msg_aklJ)) es_akmB) => msg_aklJ -> f_aklK ()
+ Data.Effect.Log: log'' :: forall {k} (tag :: k) msg f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Log msg) :> es) => msg -> f ()
- Data.Effect.Log: log'_ :: forall (msg_aklJ :: Type) f_aklK es_akmF ff_akmE c_akmG. (Free c_akmG ff_akmE, f_aklK ~ Eff ff_akmE es_akmF, In (Log msg_aklJ) es_akmF) => msg_aklJ -> f_aklK ()
+ Data.Effect.Log: log'_ :: forall msg f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Log msg) es) => msg -> f ()
- Data.Effect.Log: runLogAction :: forall msg a es ff c. Free c ff => LogAction (Eff ff es) msg -> Eff ff (Log msg ': es) a -> Eff ff es a
+ Data.Effect.Log: runLogAction :: forall msg a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). Free c ff => LogAction (Eff ff es) msg -> Eff ff (Log msg ': es) a -> Eff ff es a
- Data.Effect.Log: runLogActionEmbed :: forall msg f a es ff c. (Emb f :> es, Free c ff) => LogAction f msg -> Eff ff (Log msg ': es) a -> Eff ff es a
+ Data.Effect.Log: runLogActionEmbed :: forall msg (f :: Type -> Type) a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Emb f :> es, Free c ff) => LogAction f msg -> Eff ff (Log msg ': es) a -> Eff ff es a
- Data.Effect.Log: runLogAsOutput :: forall msg a es ff c. (Output msg :> es, Free c ff) => Eff ff (Log msg ': es) a -> Eff ff es a
+ Data.Effect.Log: runLogAsOutput :: forall msg a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Output msg :> es, Free c ff) => Eff ff (Log msg ': es) a -> Eff ff es a
- Data.Effect.Log: runOutputAsLog :: forall msg a es ff c. (Log msg :> es, Free c ff) => Eff ff (Output msg ': es) a -> Eff ff es a
+ Data.Effect.Log: runOutputAsLog :: forall msg a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Log msg :> es, Free c ff) => Eff ff (Output msg ': es) a -> Eff ff es a
- Data.Effect.NonDet: branch :: forall es a ff c. (Choose :> es, Monad (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es a -> Eff ff es a
+ Data.Effect.NonDet: branch :: forall (es :: [Effect]) a (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Choose :> es, Monad (Eff ff es), Free c ff) => Eff ff es a -> Eff ff es a -> Eff ff es a
- Data.Effect.NonDet: choice :: forall es a ff c. (Choose :> es, Empty :> es, Monad (Eff ff es), Free c ff) => [a] -> Eff ff es a
+ Data.Effect.NonDet: choice :: forall (es :: [Effect]) a (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Choose :> es, Empty :> es, Monad (Eff ff es), Free c ff) => [a] -> Eff ff es a
- Data.Effect.NonDet: choiceH :: forall es a ff c. (ChooseH :> es, Empty :> es, Monad (Eff ff es), Free c ff) => [a] -> Eff ff es a
+ Data.Effect.NonDet: choiceH :: forall (es :: [Effect]) a (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (ChooseH :> es, Empty :> es, Monad (Eff ff es), Free c ff) => [a] -> Eff ff es a
- Data.Effect.NonDet: choose :: forall a_ajzg es_ajzk ff_ajzj c_ajzl. (Free c_ajzl ff_ajzj, a_ajzg ~ Eff ff_ajzj es_ajzk, (:>) Choose es_ajzk) => a_ajzg Bool
+ Data.Effect.NonDet: choose :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Choose :> es) => a Bool
- Data.Effect.NonDet: choose' :: forall key_ajzm a_ajzg es_ajzo ff_ajzn c_ajzp. (Free c_ajzp ff_ajzn, a_ajzg ~ Eff ff_ajzn es_ajzo, Has key_ajzm Choose es_ajzo) => a_ajzg Bool
+ Data.Effect.NonDet: choose' :: forall {k} (key :: k) a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key Choose es) => a Bool
- Data.Effect.NonDet: choose'' :: forall tag_ajzq a_ajzg es_ajzs ff_ajzr c_ajzt. (Free c_ajzt ff_ajzr, a_ajzg ~ Eff ff_ajzr es_ajzs, (:>) (Tagged tag_ajzq Choose) es_ajzs) => a_ajzg Bool
+ Data.Effect.NonDet: choose'' :: forall {k} (tag :: k) a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag Choose :> es) => a Bool
- Data.Effect.NonDet: choose'_ :: forall a_ajzg es_ajzv ff_ajzu c_ajzw. (Free c_ajzw ff_ajzu, a_ajzg ~ Eff ff_ajzu es_ajzv, In Choose es_ajzv) => a_ajzg Bool
+ Data.Effect.NonDet: choose'_ :: forall a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In Choose es) => a Bool
- Data.Effect.NonDet: chooseH :: forall (b_ajJe :: Type) a_ajJd es_ajJj ff_ajJi c_ajJk. (Free c_ajJk ff_ajJi, a_ajJd ~ Eff ff_ajJi es_ajJj, (:>) ChooseH es_ajJj) => a_ajJd b_ajJe -> a_ajJd b_ajJe -> a_ajJd b_ajJe
+ Data.Effect.NonDet: chooseH :: forall b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, ChooseH :> es) => a b -> a b -> a b
- Data.Effect.NonDet: chooseH' :: forall key_ajJn (b_ajJe :: Type) a_ajJd es_ajJp ff_ajJo c_ajJq. (Free c_ajJq ff_ajJo, a_ajJd ~ Eff ff_ajJo es_ajJp, Has key_ajJn ChooseH es_ajJp) => a_ajJd b_ajJe -> a_ajJd b_ajJe -> a_ajJd b_ajJe
+ Data.Effect.NonDet: chooseH' :: forall {k} (key :: k) b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key ChooseH es) => a b -> a b -> a b
- Data.Effect.NonDet: chooseH'' :: forall tag_ajJt (b_ajJe :: Type) a_ajJd es_ajJv ff_ajJu c_ajJw. (Free c_ajJw ff_ajJu, a_ajJd ~ Eff ff_ajJu es_ajJv, (:>) (Tagged tag_ajJt ChooseH) es_ajJv) => a_ajJd b_ajJe -> a_ajJd b_ajJe -> a_ajJd b_ajJe
+ Data.Effect.NonDet: chooseH'' :: forall {k} (tag :: k) b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag ChooseH :> es) => a b -> a b -> a b
- Data.Effect.NonDet: chooseH'_ :: forall (b_ajJe :: Type) a_ajJd es_ajJA ff_ajJz c_ajJB. (Free c_ajJB ff_ajJz, a_ajJd ~ Eff ff_ajJz es_ajJA, In ChooseH es_ajJA) => a_ajJd b_ajJe -> a_ajJd b_ajJe -> a_ajJd b_ajJe
+ Data.Effect.NonDet: chooseH'_ :: forall b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In ChooseH es) => a b -> a b -> a b
- Data.Effect.NonDet: data () => Choose (a :: Type -> Type) b
+ Data.Effect.NonDet: data Choose (a :: Type -> Type) b
- Data.Effect.NonDet: data () => ChooseH (a :: Type -> Type) b
+ Data.Effect.NonDet: data ChooseH (a :: Type -> Type) b
- Data.Effect.NonDet: data () => Empty (a :: Type -> Type) b
+ Data.Effect.NonDet: data Empty (a :: Type -> Type) b
- Data.Effect.NonDet: empty :: forall (b_ajoU :: Type) a_ajoT es_ajoZ ff_ajoY c_ajp0. (Free c_ajp0 ff_ajoY, a_ajoT ~ Eff ff_ajoY es_ajoZ, (:>) Empty es_ajoZ) => a_ajoT b_ajoU
+ Data.Effect.NonDet: empty :: forall b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Empty :> es) => a b
- Data.Effect.NonDet: empty' :: forall key_ajp1 (b_ajoU :: Type) a_ajoT es_ajp3 ff_ajp2 c_ajp4. (Free c_ajp4 ff_ajp2, a_ajoT ~ Eff ff_ajp2 es_ajp3, Has key_ajp1 Empty es_ajp3) => a_ajoT b_ajoU
+ Data.Effect.NonDet: empty' :: forall {k} (key :: k) b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key Empty es) => a b
- Data.Effect.NonDet: empty'' :: forall tag_ajp5 (b_ajoU :: Type) a_ajoT es_ajp7 ff_ajp6 c_ajp8. (Free c_ajp8 ff_ajp6, a_ajoT ~ Eff ff_ajp6 es_ajp7, (:>) (Tagged tag_ajp5 Empty) es_ajp7) => a_ajoT b_ajoU
+ Data.Effect.NonDet: empty'' :: forall {k} (tag :: k) b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag Empty :> es) => a b
- Data.Effect.NonDet: empty'_ :: forall (b_ajoU :: Type) a_ajoT es_ajpa ff_ajp9 c_ajpb. (Free c_ajpb ff_ajp9, a_ajoT ~ Eff ff_ajp9 es_ajpa, In Empty es_ajpa) => a_ajoT b_ajoU
+ Data.Effect.NonDet: empty'_ :: forall b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In Empty es) => a b
- Data.Effect.NonDet: runChooseH :: forall es a ff c. (Choose :> es, Monad (Eff ff es), Free c ff) => Eff ff (ChooseH ': es) a -> Eff ff es a
+ Data.Effect.NonDet: runChooseH :: forall (es :: [Effect]) a (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Choose :> es, Monad (Eff ff es), Free c ff) => Eff ff (ChooseH ': es) a -> Eff ff es a
- Data.Effect.NonDet: runNonDetIO :: forall es a ff c. (UnliftIO :> es, Emb IO :> es, forall f. Monad (Eff ff f), Free c ff) => Eff ff (ChooseH ': (Empty ': es)) a -> Eff ff es (Either SomeException a)
+ Data.Effect.NonDet: runNonDetIO :: forall (es :: [Effect]) a (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (UnliftIO :> es, Emb IO :> es, forall (f :: [Effect]). () => Monad (Eff ff f), Free c ff) => Eff ff (ChooseH ': (Empty ': es)) a -> Eff ff es (Either SomeException a)
- Data.Effect.NonDet: runNonDetShift :: forall ans a es ref ff c. (Monoid ans, Shift ans ref :> es, forall f. Monad (ff f), Free c ff) => Eff ff (Choose ': (Empty ': es)) a -> Eff ff es a
+ Data.Effect.NonDet: runNonDetShift :: forall ans a (es :: [Effect]) (ref :: Type -> Type) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Monoid ans, Shift ans ref :> es, forall (f :: Type -> Type). () => Monad (ff f), Free c ff) => Eff ff (Choose ': (Empty ': es)) a -> Eff ff es a
- Data.Effect.Output: [Output] :: o -> Output o f ()
+ Data.Effect.Output: [Output] :: forall o (a :: Type -> Type). o -> Output o a ()
- Data.Effect.Output: data Output o :: Effect
+ Data.Effect.Output: data Output o (a :: Type -> Type) b
- Data.Effect.Output: ignoreOutput :: forall o es ff a c. (Applicative (Eff ff es), Free c ff) => Eff ff (Output o ': es) a -> Eff ff es a
+ Data.Effect.Output: ignoreOutput :: forall o (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Applicative (Eff ff es), Free c ff) => Eff ff (Output o ': es) a -> Eff ff es a
- Data.Effect.Output: output :: forall (o_aiXF :: Type) f_aiXG es_aiYn ff_aiYm c_aiYo. (Free c_aiYo ff_aiYm, f_aiXG ~ Eff ff_aiYm es_aiYn, (:>) (Output o_aiXF) es_aiYn) => o_aiXF -> f_aiXG ()
+ Data.Effect.Output: output :: forall o f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Output o :> es) => o -> f ()
- Data.Effect.Output: output' :: forall key_aiYq (o_aiXF :: Type) f_aiXG es_aiYs ff_aiYr c_aiYt. (Free c_aiYt ff_aiYr, f_aiXG ~ Eff ff_aiYr es_aiYs, Has key_aiYq (Output o_aiXF) es_aiYs) => o_aiXF -> f_aiXG ()
+ Data.Effect.Output: output' :: forall {k} (key :: k) o f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Output o) es) => o -> f ()
- Data.Effect.Output: output'' :: forall tag_aiYv (o_aiXF :: Type) f_aiXG es_aiYx ff_aiYw c_aiYy. (Free c_aiYy ff_aiYw, f_aiXG ~ Eff ff_aiYw es_aiYx, (:>) (Tagged tag_aiYv (Output o_aiXF)) es_aiYx) => o_aiXF -> f_aiXG ()
+ Data.Effect.Output: output'' :: forall {k} (tag :: k) o f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Output o) :> es) => o -> f ()
- Data.Effect.Output: output'_ :: forall (o_aiXF :: Type) f_aiXG es_aiYB ff_aiYA c_aiYC. (Free c_aiYC ff_aiYA, f_aiXG ~ Eff ff_aiYA es_aiYB, In (Output o_aiXF) es_aiYB) => o_aiXF -> f_aiXG ()
+ Data.Effect.Output: output'_ :: forall o f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Output o) es) => o -> f ()
- Data.Effect.Output: runOutputEff :: forall o es ff a c. Free c ff => (o -> Eff ff es ()) -> Eff ff (Output o ': es) a -> Eff ff es a
+ Data.Effect.Output: runOutputEff :: forall o (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). Free c ff => (o -> Eff ff es ()) -> Eff ff (Output o ': es) a -> Eff ff es a
- Data.Effect.Provider: Const1 :: f a -> Const1 f x (a :: Type)
+ Data.Effect.Provider: Const1 :: f a -> Const1 (f :: Type -> Type) (x :: k) a
- Data.Effect.Provider: ScopeC :: Eff ff (Each fs s ++ (Scoped ff t i fs r ': r)) a -> ScopeC ff t i fs r s a
+ Data.Effect.Provider: ScopeC :: Eff ff (Each fs s ++ (Scoped ff t i fs r ': r)) a -> ScopeC (ff :: (Type -> Type) -> Type -> Type) (t :: k -> Type -> Type) (i :: k -> Type) (fs :: [k -> Effect]) (r :: [Effect]) (s :: k) a
- Data.Effect.Provider: ScopeC_ :: Eff ff (es ++ (Scoped_ ff t i es r ': r)) a -> ScopeC_ ff t i es r a
+ Data.Effect.Provider: ScopeC_ :: Eff ff (es ++ (Scoped_ ff t i es r ': r)) a -> ScopeC_ (ff :: (Type -> Type) -> Type -> Type) (t :: k -> Type -> Type) (i :: k -> Type) (es :: [Effect]) (r :: [Effect]) a
- Data.Effect.Provider: [Scope] :: forall s t i a f b. i s -> ((forall x. f x -> b s x) -> b s a) -> Scope t i b f (t s a)
+ Data.Effect.Provider: [Scope] :: forall {k} (s :: k) (t :: k -> Type -> Type) (i :: k -> Type) a1 (a :: Type -> Type) (b :: k -> Type -> Type). i s -> ((forall x. () => a x -> b s x) -> b s a1) -> Scope t i b a (t s a1)
- Data.Effect.Provider: [getConst1] :: Const1 f x (a :: Type) -> f a
+ Data.Effect.Provider: [getConst1] :: Const1 (f :: Type -> Type) (x :: k) a -> f a
- Data.Effect.Provider: [unScopeC] :: ScopeC ff t i fs r s a -> Eff ff (Each fs s ++ (Scoped ff t i fs r ': r)) a
+ Data.Effect.Provider: [unScopeC] :: ScopeC (ff :: (Type -> Type) -> Type -> Type) (t :: k -> Type -> Type) (i :: k -> Type) (fs :: [k -> Effect]) (r :: [Effect]) (s :: k) a -> Eff ff (Each fs s ++ (Scoped ff t i fs r ': r)) a
- Data.Effect.Provider: [unScopeC_] :: ScopeC_ ff t i es r a -> Eff ff (es ++ (Scoped_ ff t i es r ': r)) a
+ Data.Effect.Provider: [unScopeC_] :: ScopeC_ (ff :: (Type -> Type) -> Type -> Type) (t :: k -> Type -> Type) (i :: k -> Type) (es :: [Effect]) (r :: [Effect]) a -> Eff ff (es ++ (Scoped_ ff t i es r ': r)) a
- Data.Effect.Provider: data Scope t i b :: Effect
+ Data.Effect.Provider: data Scope (t :: k -> Type -> Type) (i :: k -> Type) (b :: k -> Type -> Type) (a :: Type -> Type) c
- Data.Effect.Provider: newtype Const1 f x (a :: Type)
+ Data.Effect.Provider: newtype Const1 (f :: Type -> Type) (x :: k) a
- Data.Effect.Provider: newtype ScopeC ff t i fs r s a
+ Data.Effect.Provider: newtype ScopeC (ff :: Type -> Type -> Type -> Type) (t :: k -> Type -> Type) (i :: k -> Type) (fs :: [k -> Effect]) (r :: [Effect]) (s :: k) a
- Data.Effect.Provider: newtype ScopeC_ ff t i es r a
+ Data.Effect.Provider: newtype ScopeC_ (ff :: Type -> Type -> Type -> Type) (t :: k -> Type -> Type) (i :: k -> Type) (es :: [Effect]) (r :: [Effect]) a
- Data.Effect.Provider: provide :: forall t i a es' es r ff c. (Provider ff t i es r :> es', forall es''. Functor (Eff ff es''), Free c ff) => i -> ((Eff ff es' ~> Eff ff (es ++ (Provider ff t i es r ': r))) -> Eff ff (es ++ (Provider ff t i es r ': r)) a) -> Eff ff es' (t a)
+ Data.Effect.Provider: provide :: forall t i a (es' :: [Effect]) (es :: [Effect]) (r :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Provider ff t i es r :> es', forall (es'' :: [Effect]). () => Functor (Eff ff es''), Free c ff) => i -> ((Eff ff es' ~> Eff ff (es ++ (Provider ff t i es r ': r))) -> Eff ff (es ++ (Provider ff t i es r ': r)) a) -> Eff ff es' (t a)
- Data.Effect.Provider: provide_ :: forall i a es' es r ff c. (Provider ff Identity i es r :> es', forall es''. Functor (Eff ff es''), Free c ff) => i -> ((Eff ff es' ~> Eff ff (es ++ (Provider ff Identity i es r ': r))) -> Eff ff (es ++ (Provider ff Identity i es r ': r)) a) -> Eff ff es' a
+ Data.Effect.Provider: provide_ :: forall i a (es' :: [Effect]) (es :: [Effect]) (r :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Provider ff Identity i es r :> es', forall (es'' :: [Effect]). () => Functor (Eff ff es''), Free c ff) => i -> ((Eff ff es' ~> Eff ff (es ++ (Provider ff Identity i es r ': r))) -> Eff ff (es ++ (Provider ff Identity i es r ': r)) a) -> Eff ff es' a
- Data.Effect.Provider: provide__ :: forall a es' es r ff c. (Provider ff Identity () es r :> es', forall es''. Functor (Eff ff es''), Free c ff) => ((Eff ff es' ~> Eff ff (es ++ (Provider ff Identity () es r ': r))) -> Eff ff (es ++ (Provider ff Identity () es r ': r)) a) -> Eff ff es' a
+ Data.Effect.Provider: provide__ :: forall a (es' :: [Effect]) (es :: [Effect]) (r :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Provider ff Identity () es r :> es', forall (es'' :: [Effect]). () => Functor (Eff ff es''), Free c ff) => ((Eff ff es' ~> Eff ff (es ++ (Provider ff Identity () es r ': r))) -> Eff ff (es ++ (Provider ff Identity () es r ': r)) a) -> Eff ff es' a
- Data.Effect.Provider: runProvider :: forall t i a es r ff c. (forall es'. Functor (Eff ff es'), KnownLength es, Free c ff) => (forall x. i -> Eff ff (es ++ (Provider ff t i es r ': r)) x -> Eff ff (Provider ff t i es r ': r) (t x)) -> Eff ff (Provider ff t i es r ': r) a -> Eff ff r a
+ Data.Effect.Provider: runProvider :: forall t i a (es :: [Effect]) (r :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (forall (es' :: [Effect]). () => Functor (Eff ff es'), KnownLength es, Free c ff) => (forall x. () => i -> Eff ff (es ++ (Provider ff t i es r ': r)) x -> Eff ff (Provider ff t i es r ': r) (t x)) -> Eff ff (Provider ff t i es r ': r) a -> Eff ff r a
- Data.Effect.Provider: runProvider_ :: forall i a es r ff c. (forall es'. Functor (Eff ff es'), KnownLength es, Free c ff) => (forall x. i -> Eff ff (es ++ (Provider ff Identity i es r ': r)) x -> Eff ff (Provider ff Identity i es r ': r) x) -> Eff ff (Provider ff Identity i es r ': r) a -> Eff ff r a
+ Data.Effect.Provider: runProvider_ :: forall i a (es :: [Effect]) (r :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (forall (es' :: [Effect]). () => Functor (Eff ff es'), KnownLength es, Free c ff) => (forall x. () => i -> Eff ff (es ++ (Provider ff Identity i es r ': r)) x -> Eff ff (Provider ff Identity i es r ': r) x) -> Eff ff (Provider ff Identity i es r ': r) a -> Eff ff r a
- Data.Effect.Provider: runProvider__ :: forall a es r ff c. (forall es'. Functor (Eff ff es'), KnownLength es, Free c ff) => (forall x. Eff ff (es ++ (Provider ff Identity () es r ': r)) x -> Eff ff (Provider ff Identity () es r ': r) x) -> Eff ff (Provider ff Identity () es r ': r) a -> Eff ff r a
+ Data.Effect.Provider: runProvider__ :: forall a (es :: [Effect]) (r :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (forall (es' :: [Effect]). () => Functor (Eff ff es'), KnownLength es, Free c ff) => (forall x. () => Eff ff (es ++ (Provider ff Identity () es r ': r)) x -> Eff ff (Provider ff Identity () es r ': r) x) -> Eff ff (Provider ff Identity () es r ': r) a -> Eff ff r a
- Data.Effect.Provider: runScoped :: forall t i a es r ff c. (KnownLength es, Free c ff) => (forall s x. i s -> Eff ff (Each es s ++ (Scoped ff t i es r ': r)) x -> Eff ff (Scoped ff t i es r ': r) (t s x)) -> Eff ff (Scoped ff t i es r ': r) a -> Eff ff r a
+ Data.Effect.Provider: runScoped :: forall {k} t i a (es :: [k -> Effect]) (r :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (KnownLength es, Free c ff) => (forall (s :: k) x. () => i s -> Eff ff (Each es s ++ (Scoped ff t i es r ': r)) x -> Eff ff (Scoped ff t i es r ': r) (t s x)) -> Eff ff (Scoped ff t i es r ': r) a -> Eff ff r a
- Data.Effect.Provider: runScoped_ :: forall t i a es r ff c. (KnownLength es, Free c ff) => (forall p x. i p -> Eff ff (es ++ (Scoped_ ff t i es r ': r)) x -> Eff ff (Scoped_ ff t i es r ': r) (t p x)) -> Eff ff (Scoped_ ff t i es r ': r) a -> Eff ff r a
+ Data.Effect.Provider: runScoped_ :: forall {k} t i a (es :: [Effect]) (r :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (KnownLength es, Free c ff) => (forall (p :: k) x. () => i p -> Eff ff (es ++ (Scoped_ ff t i es r ': r)) x -> Eff ff (Scoped_ ff t i es r ': r) (t p x)) -> Eff ff (Scoped_ ff t i es r ': r) a -> Eff ff r a
- Data.Effect.Provider: scope :: forall {k_ai7h :: Type} (s_X0 :: k_ai7h) (t_ai6e :: k_ai7h -> Type -> Type) (i_ai6f :: k_ai7h -> Type) (a_X1 :: Type) (b_ai6i :: k_ai7h -> Type -> Type) f_ai6h es_ai8m ff_ai8l c_ai8n. (Free c_ai8n ff_ai8l, f_ai6h ~ Eff ff_ai8l es_ai8m, (:>) (Scope t_ai6e i_ai6f b_ai6i) es_ai8m) => i_ai6f s_X0 -> ((forall (x_ai6j :: Type). f_ai6h x_ai6j -> b_ai6i s_X0 x_ai6j) -> b_ai6i s_X0 a_X1) -> f_ai6h (t_ai6e s_X0 a_X1)
+ Data.Effect.Provider: scope :: forall {k} (s :: k) t i a b f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Scope t i b :> es) => i s -> ((forall x. () => f x -> b s x) -> b s a) -> f (t s a)
- Data.Effect.Provider: scope' :: forall key_ai8q {k_ai7h :: Type} (s_X0 :: k_ai7h) (t_ai6e :: k_ai7h -> Type -> Type) (i_ai6f :: k_ai7h -> Type) (a_X1 :: Type) (b_ai6i :: k_ai7h -> Type -> Type) f_ai6h es_ai8s ff_ai8r c_ai8t. (Free c_ai8t ff_ai8r, f_ai6h ~ Eff ff_ai8r es_ai8s, Has key_ai8q (Scope t_ai6e i_ai6f b_ai6i) es_ai8s) => i_ai6f s_X0 -> ((forall (x_ai6j :: Type). f_ai6h x_ai6j -> b_ai6i s_X0 x_ai6j) -> b_ai6i s_X0 a_X1) -> f_ai6h (t_ai6e s_X0 a_X1)
+ Data.Effect.Provider: scope' :: forall {k1} (key :: k1) {k2} (s :: k2) t i a b f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Scope t i b) es) => i s -> ((forall x. () => f x -> b s x) -> b s a) -> f (t s a)
- Data.Effect.Provider: scope'' :: forall tag_ai8w {k_ai7h :: Type} (s_X0 :: k_ai7h) (t_ai6e :: k_ai7h -> Type -> Type) (i_ai6f :: k_ai7h -> Type) (a_X1 :: Type) (b_ai6i :: k_ai7h -> Type -> Type) f_ai6h es_ai8y ff_ai8x c_ai8z. (Free c_ai8z ff_ai8x, f_ai6h ~ Eff ff_ai8x es_ai8y, (:>) (Tagged tag_ai8w (Scope t_ai6e i_ai6f b_ai6i)) es_ai8y) => i_ai6f s_X0 -> ((forall (x_ai6j :: Type). f_ai6h x_ai6j -> b_ai6i s_X0 x_ai6j) -> b_ai6i s_X0 a_X1) -> f_ai6h (t_ai6e s_X0 a_X1)
+ Data.Effect.Provider: scope'' :: forall {k1} (tag :: k1) {k2} (s :: k2) t i a b f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Scope t i b) :> es) => i s -> ((forall x. () => f x -> b s x) -> b s a) -> f (t s a)
- Data.Effect.Provider: scope'_ :: forall {k_ai7h :: Type} (s_X0 :: k_ai7h) (t_ai6e :: k_ai7h -> Type -> Type) (i_ai6f :: k_ai7h -> Type) (a_X1 :: Type) (b_ai6i :: k_ai7h -> Type -> Type) f_ai6h es_ai8D ff_ai8C c_ai8E. (Free c_ai8E ff_ai8C, f_ai6h ~ Eff ff_ai8C es_ai8D, In (Scope t_ai6e i_ai6f b_ai6i) es_ai8D) => i_ai6f s_X0 -> ((forall (x_ai6j :: Type). f_ai6h x_ai6j -> b_ai6i s_X0 x_ai6j) -> b_ai6i s_X0 a_X1) -> f_ai6h (t_ai6e s_X0 a_X1)
+ Data.Effect.Provider: scope'_ :: forall {k} (s :: k) t i a b f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Scope t i b) es) => i s -> ((forall x. () => f x -> b s x) -> b s a) -> f (t s a)
- Data.Effect.Provider: scoped :: forall t i s a es' es r ff c. (Scoped ff t i es r :> es', Free c ff) => i s -> ((Eff ff es' ~> Eff ff (Each es s ++ (Scoped ff t i es r ': r))) -> Eff ff (Each es s ++ (Scoped ff t i es r ': r)) a) -> Eff ff es' (t s a)
+ Data.Effect.Provider: scoped :: forall {k} t i (s :: k) a (es' :: [Effect]) (es :: [k -> Effect]) (r :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Scoped ff t i es r :> es', Free c ff) => i s -> ((Eff ff es' ~> Eff ff (Each es s ++ (Scoped ff t i es r ': r))) -> Eff ff (Each es s ++ (Scoped ff t i es r ': r)) a) -> Eff ff es' (t s a)
- Data.Effect.Provider: scoped_ :: forall t i s a es' es r ff c. (Scoped_ ff t i es r :> es', Free c ff) => i s -> ((Eff ff es' ~> Eff ff (es ++ (Scoped_ ff t i es r ': r))) -> Eff ff (es ++ (Scoped_ ff t i es r ': r)) a) -> Eff ff es' (t s a)
+ Data.Effect.Provider: scoped_ :: forall {k} t i (s :: k) a (es' :: [Effect]) (es :: [Effect]) (r :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Scoped_ ff t i es r :> es', Free c ff) => i s -> ((Eff ff es' ~> Eff ff (es ++ (Scoped_ ff t i es r ': r))) -> Eff ff (es ++ (Scoped_ ff t i es r ': r)) a) -> Eff ff es' (t s a)
- Data.Effect.Provider: type Provider ff t i e es = Scoped_ ff (Const1 t) (Const i :: () -> Type) e es
+ Data.Effect.Provider: type Provider (ff :: Type -> Type -> Type -> Type) (t :: Type -> Type) i (e :: [Effect]) (es :: [Effect]) = Scoped_ ff Const1 t :: () -> Type -> Type Const i :: () -> Type e es
- Data.Effect.Provider: type Scoped ff t i es r = Scope t i (ScopeC ff t i es r)
+ Data.Effect.Provider: type Scoped (ff :: Type -> Type -> Type -> Type) (t :: k -> Type -> Type) (i :: k -> Type) (es :: [k -> Effect]) (r :: [Effect]) = Scope t i ScopeC ff t i es r
- Data.Effect.Provider: type Scoped_ ff t i es r = Scope t i (Const1 (ScopeC_ ff t i es r))
+ Data.Effect.Provider: type Scoped_ (ff :: Type -> Type -> Type -> Type) (t :: k -> Type -> Type) (i :: k -> Type) (es :: [Effect]) (r :: [Effect]) = Scope t i Const1 ScopeC_ ff t i es r :: k -> Type -> Type
- Data.Effect.Reader: ask :: forall (r_abrg :: Type) a_abrh es_ahxM ff_ahxL c_ahxN. (Free c_ahxN ff_ahxL, a_abrh ~ Eff ff_ahxL es_ahxM, (:>) (Ask r_abrg) es_ahxM) => a_abrh r_abrg
+ Data.Effect.Reader: ask :: forall r a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Ask r :> es) => a r
- Data.Effect.Reader: ask' :: forall key_ahxO (r_abrg :: Type) a_abrh es_ahxQ ff_ahxP c_ahxR. (Free c_ahxR ff_ahxP, a_abrh ~ Eff ff_ahxP es_ahxQ, Has key_ahxO (Ask r_abrg) es_ahxQ) => a_abrh r_abrg
+ Data.Effect.Reader: ask' :: forall {k} (key :: k) r a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (Ask r) es) => a r
- Data.Effect.Reader: ask'' :: forall tag_ahxS (r_abrg :: Type) a_abrh es_ahxU ff_ahxT c_ahxV. (Free c_ahxV ff_ahxT, a_abrh ~ Eff ff_ahxT es_ahxU, (:>) (Tagged tag_ahxS (Ask r_abrg)) es_ahxU) => a_abrh r_abrg
+ Data.Effect.Reader: ask'' :: forall {k} (tag :: k) r a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (Ask r) :> es) => a r
- Data.Effect.Reader: ask'_ :: forall (r_abrg :: Type) a_abrh es_ahxX ff_ahxW c_ahxY. (Free c_ahxY ff_ahxW, a_abrh ~ Eff ff_ahxW es_ahxX, In (Ask r_abrg) es_ahxX) => a_abrh r_abrg
+ Data.Effect.Reader: ask'_ :: forall r a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (Ask r) es) => a r
- Data.Effect.Reader: asks :: forall r es ff a c. (Ask r :> es, Functor (Eff ff es), Free c ff) => (r -> a) -> Eff ff es a
+ Data.Effect.Reader: asks :: forall r (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Ask r :> es, Functor (Eff ff es), Free c ff) => (r -> a) -> Eff ff es a
- Data.Effect.Reader: data () => Ask r (a :: Type -> Type) b
+ Data.Effect.Reader: data Ask r (a :: Type -> Type) b
- Data.Effect.Reader: data () => Local r (a :: Type -> Type) b
+ Data.Effect.Reader: data Local r (a :: Type -> Type) b
- Data.Effect.Reader: handleLocal :: forall r es ff c. (Applicative (Eff ff es), Ask r `In` es, Free c ff) => Local r ~~> Eff ff es
+ Data.Effect.Reader: handleLocal :: forall r (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Applicative (Eff ff es), In (Ask r) es, Free c ff) => Local r ~~> Eff ff es
- Data.Effect.Reader: handleLocalFor :: forall r es ff c. (Applicative (Eff ff es), Free c ff) => Membership (Ask r) es -> Local r ~~> Eff ff es
+ Data.Effect.Reader: handleLocalFor :: forall r (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Applicative (Eff ff es), Free c ff) => Membership (Ask r) es -> Local r ~~> Eff ff es
- Data.Effect.Reader: local :: forall (r_absm :: Type) (b_abso :: Type) a_absn es_ahI8 ff_ahI7 c_ahI9. (Free c_ahI9 ff_ahI7, a_absn ~ Eff ff_ahI7 es_ahI8, (:>) (Local r_absm) es_ahI8) => (r_absm -> r_absm) -> a_absn b_abso -> a_absn b_abso
+ Data.Effect.Reader: local :: forall r b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Local r :> es) => (r -> r) -> a b -> a b
- Data.Effect.Reader: local' :: forall key_ahIc (r_absm :: Type) (b_abso :: Type) a_absn es_ahIe ff_ahId c_ahIf. (Free c_ahIf ff_ahId, a_absn ~ Eff ff_ahId es_ahIe, Has key_ahIc (Local r_absm) es_ahIe) => (r_absm -> r_absm) -> a_absn b_abso -> a_absn b_abso
+ Data.Effect.Reader: local' :: forall {k} (key :: k) r b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (Local r) es) => (r -> r) -> a b -> a b
- Data.Effect.Reader: local'' :: forall tag_ahIi (r_absm :: Type) (b_abso :: Type) a_absn es_ahIk ff_ahIj c_ahIl. (Free c_ahIl ff_ahIj, a_absn ~ Eff ff_ahIj es_ahIk, (:>) (Tagged tag_ahIi (Local r_absm)) es_ahIk) => (r_absm -> r_absm) -> a_absn b_abso -> a_absn b_abso
+ Data.Effect.Reader: local'' :: forall {k} (tag :: k) r b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (Local r) :> es) => (r -> r) -> a b -> a b
- Data.Effect.Reader: local'_ :: forall (r_absm :: Type) (b_abso :: Type) a_absn es_ahIp ff_ahIo c_ahIq. (Free c_ahIq ff_ahIo, a_absn ~ Eff ff_ahIo es_ahIp, In (Local r_absm) es_ahIp) => (r_absm -> r_absm) -> a_absn b_abso -> a_absn b_abso
+ Data.Effect.Reader: local'_ :: forall r b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (Local r) es) => (r -> r) -> a b -> a b
- Data.Effect.Reader: runAsk :: forall r es ff a c. (Applicative (Eff ff es), Free c ff) => r -> Eff ff (Ask r ': es) a -> Eff ff es a
+ Data.Effect.Reader: runAsk :: forall r (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Applicative (Eff ff es), Free c ff) => r -> Eff ff (Ask r ': es) a -> Eff ff es a
- Data.Effect.Reader: runLocal :: forall r es ff a c. (Applicative (Eff ff es), Ask r `In` es, Free c ff) => Eff ff (Local r ': es) a -> Eff ff es a
+ Data.Effect.Reader: runLocal :: forall r (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Applicative (Eff ff es), In (Ask r) es, Free c ff) => Eff ff (Local r ': es) a -> Eff ff es a
- Data.Effect.Reader: runReader :: forall r es ff a c. (forall es'. Applicative (Eff ff es'), Free c ff) => r -> Eff ff (Local r ': (Ask r ': es)) a -> Eff ff es a
+ Data.Effect.Reader: runReader :: forall r (es :: [(Type -> Type) -> Type -> Type]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (forall (es' :: [Effect]). () => Applicative (Eff ff es'), Free c ff) => r -> Eff ff (Local r ': (Ask r ': es)) a -> Eff ff es a
- Data.Effect.Select: [Select] :: ((a -> r) -> a) -> Select r f a
+ Data.Effect.Select: [Select] :: forall b r (a :: Type -> Type). ((b -> r) -> b) -> Select r a b
- Data.Effect.Select: data Select r :: Effect
+ Data.Effect.Select: data Select r (a :: Type -> Type) b
- Data.Effect.Select: select :: forall (a_ae9j :: Type) (r_ae9k :: Type) f_ae9l es_aeag ff_aeaf c_aeah. (Free c_aeah ff_aeaf, f_ae9l ~ Eff ff_aeaf es_aeag, (:>) (Select r_ae9k) es_aeag) => ((a_ae9j -> r_ae9k) -> a_ae9j) -> f_ae9l a_ae9j
+ Data.Effect.Select: select :: forall a r f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Select r :> es) => ((a -> r) -> a) -> f a
- Data.Effect.Select: select' :: forall key_aeaj (a_ae9j :: Type) (r_ae9k :: Type) f_ae9l es_aeal ff_aeak c_aeam. (Free c_aeam ff_aeak, f_ae9l ~ Eff ff_aeak es_aeal, Has key_aeaj (Select r_ae9k) es_aeal) => ((a_ae9j -> r_ae9k) -> a_ae9j) -> f_ae9l a_ae9j
+ Data.Effect.Select: select' :: forall {k} (key :: k) a r f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Select r) es) => ((a -> r) -> a) -> f a
- Data.Effect.Select: select'' :: forall tag_aeao (a_ae9j :: Type) (r_ae9k :: Type) f_ae9l es_aeaq ff_aeap c_aear. (Free c_aear ff_aeap, f_ae9l ~ Eff ff_aeap es_aeaq, (:>) (Tagged tag_aeao (Select r_ae9k)) es_aeaq) => ((a_ae9j -> r_ae9k) -> a_ae9j) -> f_ae9l a_ae9j
+ Data.Effect.Select: select'' :: forall {k} (tag :: k) a r f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Select r) :> es) => ((a -> r) -> a) -> f a
- Data.Effect.Select: select'_ :: forall (a_ae9j :: Type) (r_ae9k :: Type) f_ae9l es_aeau ff_aeat c_aeav. (Free c_aeav ff_aeat, f_ae9l ~ Eff ff_aeat es_aeau, In (Select r_ae9k) es_aeau) => ((a_ae9j -> r_ae9k) -> a_ae9j) -> f_ae9l a_ae9j
+ Data.Effect.Select: select'_ :: forall a r f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Select r) es) => ((a -> r) -> a) -> f a
- Data.Effect.Shift: abort :: forall (ans_acG0 :: Type) (ref_acG1 :: Type -> Type) (b_acG3 :: Type) a_acG2 es_acGW ff_acGV c_acGX. (Free c_acGX ff_acGV, a_acG2 ~ Eff ff_acGV es_acGW, (:>) (Shift ans_acG0 ref_acG1) es_acGW) => ans_acG0 -> a_acG2 b_acG3
+ Data.Effect.Shift: abort :: forall ans (ref :: Type -> Type) a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Shift ans ref :> es) => ans -> f a
- Data.Effect.Shift: abort' :: forall key_acGZ (ans_acG0 :: Type) (ref_acG1 :: Type -> Type) (b_acG3 :: Type) a_acG2 es_acH1 ff_acH0 c_acH2. (Free c_acH2 ff_acH0, a_acG2 ~ Eff ff_acH0 es_acH1, Has key_acGZ (Shift ans_acG0 ref_acG1) es_acH1) => ans_acG0 -> a_acG2 b_acG3
+ Data.Effect.Shift: abort' :: forall {k} (key :: k) ans (ref :: Type -> Type) a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Shift ans ref) es) => ans -> f a
- Data.Effect.Shift: abort'' :: forall tag_acH4 (ans_acG0 :: Type) (ref_acG1 :: Type -> Type) (b_acG3 :: Type) a_acG2 es_acH6 ff_acH5 c_acH7. (Free c_acH7 ff_acH5, a_acG2 ~ Eff ff_acH5 es_acH6, (:>) (Tagged tag_acH4 (Shift ans_acG0 ref_acG1)) es_acH6) => ans_acG0 -> a_acG2 b_acG3
+ Data.Effect.Shift: abort'' :: forall {k} (tag :: k) ans (ref :: Type -> Type) a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Shift ans ref) :> es) => ans -> f a
- Data.Effect.Shift: abort'_ :: forall (ans_acG0 :: Type) (ref_acG1 :: Type -> Type) (b_acG3 :: Type) a_acG2 es_acHa ff_acH9 c_acHb. (Free c_acHb ff_acH9, a_acG2 ~ Eff ff_acH9 es_acHa, In (Shift ans_acG0 ref_acG1) es_acHa) => ans_acG0 -> a_acG2 b_acG3
+ Data.Effect.Shift: abort'_ :: forall ans (ref :: Type -> Type) a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Shift ans ref) es) => ans -> f a
- Data.Effect.Shift: call :: forall (ref_acG1 :: Type -> Type) (a1_acG5 :: Type) (ans_acG0 :: Type) a_acG2 es_acGA ff_acGz c_acGB. (Free c_acGB ff_acGz, a_acG2 ~ Eff ff_acGz es_acGA, (:>) (Shift ans_acG0 ref_acG1) es_acGA) => ref_acG1 a1_acG5 -> a1_acG5 -> a_acG2 ans_acG0
+ Data.Effect.Shift: call :: forall ref a ans f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Shift ans ref :> es) => ref a -> a -> f ans
- Data.Effect.Shift: call' :: forall key_acGE (ref_acG1 :: Type -> Type) (a1_acG5 :: Type) (ans_acG0 :: Type) a_acG2 es_acGG ff_acGF c_acGH. (Free c_acGH ff_acGF, a_acG2 ~ Eff ff_acGF es_acGG, Has key_acGE (Shift ans_acG0 ref_acG1) es_acGG) => ref_acG1 a1_acG5 -> a1_acG5 -> a_acG2 ans_acG0
+ Data.Effect.Shift: call' :: forall {k} (key :: k) ref a ans f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Shift ans ref) es) => ref a -> a -> f ans
- Data.Effect.Shift: call'' :: forall tag_acGK (ref_acG1 :: Type -> Type) (a1_acG5 :: Type) (ans_acG0 :: Type) a_acG2 es_acGM ff_acGL c_acGN. (Free c_acGN ff_acGL, a_acG2 ~ Eff ff_acGL es_acGM, (:>) (Tagged tag_acGK (Shift ans_acG0 ref_acG1)) es_acGM) => ref_acG1 a1_acG5 -> a1_acG5 -> a_acG2 ans_acG0
+ Data.Effect.Shift: call'' :: forall {k} (tag :: k) ref a ans f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Shift ans ref) :> es) => ref a -> a -> f ans
- Data.Effect.Shift: call'_ :: forall (ref_acG1 :: Type -> Type) (a1_acG5 :: Type) (ans_acG0 :: Type) a_acG2 es_acGR ff_acGQ c_acGS. (Free c_acGS ff_acGQ, a_acG2 ~ Eff ff_acGQ es_acGR, In (Shift ans_acG0 ref_acG1) es_acGR) => ref_acG1 a1_acG5 -> a1_acG5 -> a_acG2 ans_acG0
+ Data.Effect.Shift: call'_ :: forall ref a ans f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Shift ans ref) es) => ref a -> a -> f ans
- Data.Effect.Shift: getShiftCC :: forall es ans ref ff c. (Shift ans ref :> es, Monad (Eff ff es), Free c ff) => Eff ff es (Eff ff es ans)
+ Data.Effect.Shift: getShiftCC :: forall (es :: [Effect]) ans (ref :: Type -> Type) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Shift ans ref :> es, Monad (Eff ff es), Free c ff) => Eff ff es (Eff ff es ans)
- Data.Effect.Shift: runCCAsShift :: forall a es ans ref ff c. (Shift ans ref :> es, Monad (Eff ff es), Free c ff) => Eff ff (CC ref ': es) a -> Eff ff es a
+ Data.Effect.Shift: runCCAsShift :: forall a (es :: [Effect]) ans (ref :: Type -> Type) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Shift ans ref :> es, Monad (Eff ff es), Free c ff) => Eff ff (CC ref ': es) a -> Eff ff es a
- Data.Effect.Shift: runCCOnShift :: forall a es ans ref ff c. (Shift ans ref :> es, Monad (Eff ff es), Free c ff) => Eff ff (CC (Op (Eff ff es ans)) ': es) a -> Eff ff es a
+ Data.Effect.Shift: runCCOnShift :: forall a (es :: [Effect]) ans (ref :: Type -> Type) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Shift ans ref :> es, Monad (Eff ff es), Free c ff) => Eff ff (CC (Op (Eff ff es ans)) ': es) a -> Eff ff es a
- Data.Effect.Shift: shift :: forall a es ans ref ff c. (Shift ans ref :> es, Monad (Eff ff es), Free c ff) => ((a -> Eff ff es ans) -> Eff ff es ans) -> Eff ff es a
+ Data.Effect.Shift: shift :: forall a (es :: [Effect]) ans (ref :: Type -> Type) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Shift ans ref :> es, Monad (Eff ff es), Free c ff) => ((a -> Eff ff es ans) -> Eff ff es ans) -> Eff ff es a
- Data.Effect.Shift: subShift :: forall a b es ans ref ff c. (Shift ans ref :> es, Monad (Eff ff es), Free c ff) => (ref a -> Eff ff es b) -> (a -> Eff ff es b) -> Eff ff es b
+ Data.Effect.Shift: subShift :: forall a b (es :: [Effect]) ans ref (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Shift ans ref :> es, Monad (Eff ff es), Free c ff) => (ref a -> Eff ff es b) -> (a -> Eff ff es b) -> Eff ff es b
- Data.Effect.Shift: subShiftFork :: forall (ans_acG0 :: Type) (ref_acG1 :: Type -> Type) (a1_acG4 :: Type) a_acG2 es_acGm ff_acGl c_acGn. (Free c_acGn ff_acGl, a_acG2 ~ Eff ff_acGl es_acGm, (:>) (Shift ans_acG0 ref_acG1) es_acGm) => a_acG2 (Either (ref_acG1 a1_acG4) a1_acG4)
+ Data.Effect.Shift: subShiftFork :: forall ans ref a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Shift ans ref :> es) => f (Either (ref a) a)
- Data.Effect.Shift: subShiftFork' :: forall key_acGo (ans_acG0 :: Type) (ref_acG1 :: Type -> Type) (a1_acG4 :: Type) a_acG2 es_acGq ff_acGp c_acGr. (Free c_acGr ff_acGp, a_acG2 ~ Eff ff_acGp es_acGq, Has key_acGo (Shift ans_acG0 ref_acG1) es_acGq) => a_acG2 (Either (ref_acG1 a1_acG4) a1_acG4)
+ Data.Effect.Shift: subShiftFork' :: forall {k} (key :: k) ans ref a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Shift ans ref) es) => f (Either (ref a) a)
- Data.Effect.Shift: subShiftFork'' :: forall tag_acGs (ans_acG0 :: Type) (ref_acG1 :: Type -> Type) (a1_acG4 :: Type) a_acG2 es_acGu ff_acGt c_acGv. (Free c_acGv ff_acGt, a_acG2 ~ Eff ff_acGt es_acGu, (:>) (Tagged tag_acGs (Shift ans_acG0 ref_acG1)) es_acGu) => a_acG2 (Either (ref_acG1 a1_acG4) a1_acG4)
+ Data.Effect.Shift: subShiftFork'' :: forall {k} (tag :: k) ans ref a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Shift ans ref) :> es) => f (Either (ref a) a)
- Data.Effect.Shift: subShiftFork'_ :: forall (ans_acG0 :: Type) (ref_acG1 :: Type -> Type) (a1_acG4 :: Type) a_acG2 es_acGx ff_acGw c_acGy. (Free c_acGy ff_acGw, a_acG2 ~ Eff ff_acGw es_acGx, In (Shift ans_acG0 ref_acG1) es_acGx) => a_acG2 (Either (ref_acG1 a1_acG4) a1_acG4)
+ Data.Effect.Shift: subShiftFork'_ :: forall ans ref a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Shift ans ref) es) => f (Either (ref a) a)
- Data.Effect.State: askToGet :: forall r es ff a c. (State r `In` es, Free c ff) => Eff ff (Ask r ': es) a -> Eff ff es a
+ Data.Effect.State: askToGet :: forall r (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (In (State r) es, Free c ff) => Eff ff (Ask r ': es) a -> Eff ff es a
- Data.Effect.State: data () => State s (a :: Type -> Type) b
+ Data.Effect.State: data State s (a :: Type -> Type) b
- Data.Effect.State: evalStateIORef :: forall s es ff a c. (Emb IO :> es, Monad (Eff ff es), Free c ff) => s -> Eff ff (State s ': es) a -> Eff ff es a
+ Data.Effect.State: evalStateIORef :: forall s (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Emb IO :> es, Monad (Eff ff es), Free c ff) => s -> Eff ff (State s ': es) a -> Eff ff es a
- Data.Effect.State: execStateIORef :: forall s es ff a c. (Emb IO :> es, Monad (Eff ff es), Free c ff) => s -> Eff ff (State s ': es) a -> Eff ff es s
+ Data.Effect.State: execStateIORef :: forall s (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Emb IO :> es, Monad (Eff ff es), Free c ff) => s -> Eff ff (State s ': es) a -> Eff ff es s
- Data.Effect.State: get :: forall (s_abpp :: Type) a_abpq es_abpx ff_abpw c_abpy. (Free c_abpy ff_abpw, a_abpq ~ Eff ff_abpw es_abpx, (:>) (State s_abpp) es_abpx) => a_abpq s_abpp
+ Data.Effect.State: get :: forall s a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, State s :> es) => a s
- Data.Effect.State: get' :: forall key_abpz (s_abpp :: Type) a_abpq es_abpB ff_abpA c_abpC. (Free c_abpC ff_abpA, a_abpq ~ Eff ff_abpA es_abpB, Has key_abpz (State s_abpp) es_abpB) => a_abpq s_abpp
+ Data.Effect.State: get' :: forall {k} (key :: k) s a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (State s) es) => a s
- Data.Effect.State: get'' :: forall tag_abpD (s_abpp :: Type) a_abpq es_abpF ff_abpE c_abpG. (Free c_abpG ff_abpE, a_abpq ~ Eff ff_abpE es_abpF, (:>) (Tagged tag_abpD (State s_abpp)) es_abpF) => a_abpq s_abpp
+ Data.Effect.State: get'' :: forall {k} (tag :: k) s a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (State s) :> es) => a s
- Data.Effect.State: get'_ :: forall (s_abpp :: Type) a_abpq es_abpI ff_abpH c_abpJ. (Free c_abpJ ff_abpH, a_abpq ~ Eff ff_abpH es_abpI, In (State s_abpp) es_abpI) => a_abpq s_abpp
+ Data.Effect.State: get'_ :: forall s a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (State s) es) => a s
- Data.Effect.State: gets :: forall s es a ff c. (State s :> es, Functor (Eff ff es), Free c ff) => (s -> a) -> Eff ff es a
+ Data.Effect.State: gets :: forall s (es :: [Effect]) a (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (State s :> es, Functor (Eff ff es), Free c ff) => (s -> a) -> Eff ff es a
- Data.Effect.State: localToState :: forall r es ff a c. (State r `In` es, Monad (Eff ff es), Free c ff) => Eff ff (Local r ': es) a -> Eff ff es a
+ Data.Effect.State: localToState :: forall r (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (In (State r) es, Monad (Eff ff es), Free c ff) => Eff ff (Local r ': es) a -> Eff ff es a
- Data.Effect.State: modify :: forall s es ff c. (State s :> es, Monad (Eff ff es), Free c ff) => (s -> s) -> Eff ff es ()
+ Data.Effect.State: modify :: forall s (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (State s :> es, Monad (Eff ff es), Free c ff) => (s -> s) -> Eff ff es ()
- Data.Effect.State: put :: forall (s_abpp :: Type) a_abpq es_abpL ff_abpK c_abpM. (Free c_abpM ff_abpK, a_abpq ~ Eff ff_abpK es_abpL, (:>) (State s_abpp) es_abpL) => s_abpp -> a_abpq ()
+ Data.Effect.State: put :: forall s a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, State s :> es) => s -> a ()
- Data.Effect.State: put' :: forall key_abpO (s_abpp :: Type) a_abpq es_abpQ ff_abpP c_abpR. (Free c_abpR ff_abpP, a_abpq ~ Eff ff_abpP es_abpQ, Has key_abpO (State s_abpp) es_abpQ) => s_abpp -> a_abpq ()
+ Data.Effect.State: put' :: forall {k} (key :: k) s a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (State s) es) => s -> a ()
- Data.Effect.State: put'' :: forall tag_abpT (s_abpp :: Type) a_abpq es_abpV ff_abpU c_abpW. (Free c_abpW ff_abpU, a_abpq ~ Eff ff_abpU es_abpV, (:>) (Tagged tag_abpT (State s_abpp)) es_abpV) => s_abpp -> a_abpq ()
+ Data.Effect.State: put'' :: forall {k} (tag :: k) s a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (State s) :> es) => s -> a ()
- Data.Effect.State: put'_ :: forall (s_abpp :: Type) a_abpq es_abpZ ff_abpY c_abq0. (Free c_abq0 ff_abpY, a_abpq ~ Eff ff_abpY es_abpZ, In (State s_abpp) es_abpZ) => s_abpp -> a_abpq ()
+ Data.Effect.State: put'_ :: forall s a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (State s) es) => s -> a ()
- Data.Effect.State: runStateIORef :: forall s es ff a c. (Emb IO :> es, Monad (Eff ff es), Free c ff) => s -> Eff ff (State s ': es) a -> Eff ff es (s, a)
+ Data.Effect.State: runStateIORef :: forall s (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (Emb IO :> es, Monad (Eff ff es), Free c ff) => s -> Eff ff (State s ': es) a -> Eff ff es (s, a)
- Data.Effect.Unlift: data () => UnliftBase (b :: Type -> Type) (f :: Type -> Type) a
+ Data.Effect.Unlift: data UnliftBase (b :: Type -> Type) (f :: Type -> Type) a
- Data.Effect.Unlift: runUnliftBase :: forall b ff a c. (c b, Free c ff) => Eff ff '[UnliftBase b, Emb b] a -> b a
+ Data.Effect.Unlift: runUnliftBase :: forall b (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (c b, Free c ff) => Eff ff '[UnliftBase b, Emb b] a -> b a
- Data.Effect.Unlift: runUnliftIO :: (MonadUnliftIO m, Free c ff, c m) => Eff ff '[UnliftIO, Emb m] a -> m a
+ Data.Effect.Unlift: runUnliftIO :: forall m (c :: (Type -> Type) -> Constraint) (ff :: (Type -> Type) -> Type -> Type) a. (MonadUnliftIO m, Free c ff, c m) => Eff ff '[UnliftIO, Emb m] a -> m a
- Data.Effect.Unlift: withRunInBase :: forall (b_ab1H :: Type -> Type) (a_ab1J :: Type) f_ab1I es_ab1Q ff_ab1P c_ab1R. (Free c_ab1R ff_ab1P, f_ab1I ~ Eff ff_ab1P es_ab1Q, (:>) (UnliftBase b_ab1H) es_ab1Q) => ((forall (x_ab1O :: Type). f_ab1I x_ab1O -> b_ab1H x_ab1O) -> b_ab1H a_ab1J) -> f_ab1I a_ab1J
+ Data.Effect.Unlift: withRunInBase :: forall b a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, UnliftBase b :> es) => ((forall x. () => f x -> b x) -> b a) -> f a
- Data.Effect.Unlift: withRunInBase' :: forall key_ab1T (b_ab1H :: Type -> Type) (a_ab1J :: Type) f_ab1I es_ab1V ff_ab1U c_ab1W. (Free c_ab1W ff_ab1U, f_ab1I ~ Eff ff_ab1U es_ab1V, Has key_ab1T (UnliftBase b_ab1H) es_ab1V) => ((forall (x_ab1O :: Type). f_ab1I x_ab1O -> b_ab1H x_ab1O) -> b_ab1H a_ab1J) -> f_ab1I a_ab1J
+ Data.Effect.Unlift: withRunInBase' :: forall {k} (key :: k) b a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (UnliftBase b) es) => ((forall x. () => f x -> b x) -> b a) -> f a
- Data.Effect.Unlift: withRunInBase'' :: forall tag_ab1Y (b_ab1H :: Type -> Type) (a_ab1J :: Type) f_ab1I es_ab20 ff_ab1Z c_ab21. (Free c_ab21 ff_ab1Z, f_ab1I ~ Eff ff_ab1Z es_ab20, (:>) (Tagged tag_ab1Y (UnliftBase b_ab1H)) es_ab20) => ((forall (x_ab1O :: Type). f_ab1I x_ab1O -> b_ab1H x_ab1O) -> b_ab1H a_ab1J) -> f_ab1I a_ab1J
+ Data.Effect.Unlift: withRunInBase'' :: forall {k} (tag :: k) b a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (UnliftBase b) :> es) => ((forall x. () => f x -> b x) -> b a) -> f a
- Data.Effect.Unlift: withRunInBase'_ :: forall (b_ab1H :: Type -> Type) (a_ab1J :: Type) f_ab1I es_ab24 ff_ab23 c_ab25. (Free c_ab25 ff_ab23, f_ab1I ~ Eff ff_ab23 es_ab24, In (UnliftBase b_ab1H) es_ab24) => ((forall (x_ab1O :: Type). f_ab1I x_ab1O -> b_ab1H x_ab1O) -> b_ab1H a_ab1J) -> f_ab1I a_ab1J
+ Data.Effect.Unlift: withRunInBase'_ :: forall b a f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (UnliftBase b) es) => ((forall x. () => f x -> b x) -> b a) -> f a
- Data.Effect.Unlift: withRunInIO :: forall es ff a c. (UnliftIO :> es, Free c ff) => ((Eff ff es ~> IO) -> IO a) -> Eff ff es a
+ Data.Effect.Unlift: withRunInIO :: forall (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (UnliftIO :> es, Free c ff) => ((Eff ff es ~> IO) -> IO a) -> Eff ff es a
- Data.Effect.Writer: censor :: forall (w_aaCy :: Type) (b_aaCA :: Type) a_aaCz es_aaD1 ff_aaD0 c_aaD2. (Free c_aaD2 ff_aaD0, a_aaCz ~ Eff ff_aaD0 es_aaD1, (:>) (WriterH w_aaCy) es_aaD1) => (w_aaCy -> w_aaCy) -> a_aaCz b_aaCA -> a_aaCz b_aaCA
+ Data.Effect.Writer: censor :: forall w b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, WriterH w :> es) => (w -> w) -> a b -> a b
- Data.Effect.Writer: censor' :: forall key_aaD5 (w_aaCy :: Type) (b_aaCA :: Type) a_aaCz es_aaD7 ff_aaD6 c_aaD8. (Free c_aaD8 ff_aaD6, a_aaCz ~ Eff ff_aaD6 es_aaD7, Has key_aaD5 (WriterH w_aaCy) es_aaD7) => (w_aaCy -> w_aaCy) -> a_aaCz b_aaCA -> a_aaCz b_aaCA
+ Data.Effect.Writer: censor' :: forall {k} (key :: k) w b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (WriterH w) es) => (w -> w) -> a b -> a b
- Data.Effect.Writer: censor'' :: forall tag_aaDb (w_aaCy :: Type) (b_aaCA :: Type) a_aaCz es_aaDd ff_aaDc c_aaDe. (Free c_aaDe ff_aaDc, a_aaCz ~ Eff ff_aaDc es_aaDd, (:>) (Tagged tag_aaDb (WriterH w_aaCy)) es_aaDd) => (w_aaCy -> w_aaCy) -> a_aaCz b_aaCA -> a_aaCz b_aaCA
+ Data.Effect.Writer: censor'' :: forall {k} (tag :: k) w b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (WriterH w) :> es) => (w -> w) -> a b -> a b
- Data.Effect.Writer: censor'_ :: forall (w_aaCy :: Type) (b_aaCA :: Type) a_aaCz es_aaDi ff_aaDh c_aaDj. (Free c_aaDj ff_aaDh, a_aaCz ~ Eff ff_aaDh es_aaDi, In (WriterH w_aaCy) es_aaDi) => (w_aaCy -> w_aaCy) -> a_aaCz b_aaCA -> a_aaCz b_aaCA
+ Data.Effect.Writer: censor'_ :: forall w b a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (WriterH w) es) => (w -> w) -> a b -> a b
- Data.Effect.Writer: censorPre :: forall w es ff a c. (Tell w `In` es, Free c ff) => (w -> w) -> Eff ff es a -> Eff ff es a
+ Data.Effect.Writer: censorPre :: forall w (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) a (c :: (Type -> Type) -> Constraint). (In (Tell w) es, Free c ff) => (w -> w) -> Eff ff es a -> Eff ff es a
- Data.Effect.Writer: data () => Tell w (a :: Type -> Type) b
+ Data.Effect.Writer: data Tell w (a :: Type -> Type) b
- Data.Effect.Writer: data () => WriterH w (a :: Type -> Type) b
+ Data.Effect.Writer: data WriterH w (a :: Type -> Type) b
- Data.Effect.Writer: listen :: forall (a1_aaCB :: Type) (w_aaCy :: Type) a_aaCz es_aaCJ ff_aaCI c_aaCK. (Free c_aaCK ff_aaCI, a_aaCz ~ Eff ff_aaCI es_aaCJ, (:>) (WriterH w_aaCy) es_aaCJ) => a_aaCz a1_aaCB -> a_aaCz (w_aaCy, a1_aaCB)
+ Data.Effect.Writer: listen :: forall a1 w a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, WriterH w :> es) => a a1 -> a (w, a1)
- Data.Effect.Writer: listen' :: forall key_aaCM (a1_aaCB :: Type) (w_aaCy :: Type) a_aaCz es_aaCO ff_aaCN c_aaCP. (Free c_aaCP ff_aaCN, a_aaCz ~ Eff ff_aaCN es_aaCO, Has key_aaCM (WriterH w_aaCy) es_aaCO) => a_aaCz a1_aaCB -> a_aaCz (w_aaCy, a1_aaCB)
+ Data.Effect.Writer: listen' :: forall {k} (key :: k) a1 w a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (WriterH w) es) => a a1 -> a (w, a1)
- Data.Effect.Writer: listen'' :: forall tag_aaCR (a1_aaCB :: Type) (w_aaCy :: Type) a_aaCz es_aaCT ff_aaCS c_aaCU. (Free c_aaCU ff_aaCS, a_aaCz ~ Eff ff_aaCS es_aaCT, (:>) (Tagged tag_aaCR (WriterH w_aaCy)) es_aaCT) => a_aaCz a1_aaCB -> a_aaCz (w_aaCy, a1_aaCB)
+ Data.Effect.Writer: listen'' :: forall {k} (tag :: k) a1 w a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (WriterH w) :> es) => a a1 -> a (w, a1)
- Data.Effect.Writer: listen'_ :: forall (a1_aaCB :: Type) (w_aaCy :: Type) a_aaCz es_aaCX ff_aaCW c_aaCY. (Free c_aaCY ff_aaCW, a_aaCz ~ Eff ff_aaCW es_aaCX, In (WriterH w_aaCy) es_aaCX) => a_aaCz a1_aaCB -> a_aaCz (w_aaCy, a1_aaCB)
+ Data.Effect.Writer: listen'_ :: forall a1 w a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (WriterH w) es) => a a1 -> a (w, a1)
- Data.Effect.Writer: tell :: forall (w_aaii :: Type) a_aaij es_aaio ff_aain c_aaip. (Free c_aaip ff_aain, a_aaij ~ Eff ff_aain es_aaio, (:>) (Tell w_aaii) es_aaio) => w_aaii -> a_aaij ()
+ Data.Effect.Writer: tell :: forall w a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tell w :> es) => w -> a ()
- Data.Effect.Writer: tell' :: forall key_aair (w_aaii :: Type) a_aaij es_aait ff_aais c_aaiu. (Free c_aaiu ff_aais, a_aaij ~ Eff ff_aais es_aait, Has key_aair (Tell w_aaii) es_aait) => w_aaii -> a_aaij ()
+ Data.Effect.Writer: tell' :: forall {k} (key :: k) w a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Has key (Tell w) es) => w -> a ()
- Data.Effect.Writer: tell'' :: forall tag_aaiw (w_aaii :: Type) a_aaij es_aaiy ff_aaix c_aaiz. (Free c_aaiz ff_aaix, a_aaij ~ Eff ff_aaix es_aaiy, (:>) (Tagged tag_aaiw (Tell w_aaii)) es_aaiy) => w_aaii -> a_aaij ()
+ Data.Effect.Writer: tell'' :: forall {k} (tag :: k) w a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, Tagged tag (Tell w) :> es) => w -> a ()
- Data.Effect.Writer: tell'_ :: forall (w_aaii :: Type) a_aaij es_aaiC ff_aaiB c_aaiD. (Free c_aaiD ff_aaiB, a_aaij ~ Eff ff_aaiB es_aaiC, In (Tell w_aaii) es_aaiC) => w_aaii -> a_aaij ()
+ Data.Effect.Writer: tell'_ :: forall w a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, a ~ Eff ff es, In (Tell w) es) => w -> a ()

Files

data-effects.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               data-effects-version:            0.4.0.0+version:            0.4.0.1  -- A short (one-line) description of the package. synopsis: A basic framework for effect systems based on effects represented by GADTs.@@ -96,9 +96,9 @@         lens                        >= 5.2.3 && < 5.4,         time                        >= 1.11.1 && < 1.15,         infinite-list               ^>= 0.1.1,-        unliftio,-        containers,-        co-log-core,+        unliftio                    ^>= 0.2,+        containers > 0.6.5 && < 0.8,+        co-log-core ^>= 0.3.2,         unbounded-delays ^>= 0.1.1,         time >= 1.11.1 && < 1.15,