bluefin-0.0.3.0: The Bluefin effect system
Safe HaskellSafe-Inferred
LanguageHaskell2010

Bluefin.Compound

Synopsis

Documentation

Compound allows combining two effects into one, for encapsulation. It is not documented yet.

Handle

data Compound (e1 :: Effects -> Type) (e2 :: Effects -> Type) (ss :: Effects) #

Handler

runCompound #

Arguments

:: forall e1 (s1 :: Effects) e2 (s2 :: Effects) (es :: Effects) r. e1 s1 
-> e2 s2

͘

-> (forall (es' :: Effects). Compound e1 e2 es' -> Eff (es' :& es) r) 
-> Eff (s1 :& (s2 :& es)) r 

Effectful operations

withCompound #

Arguments

:: forall h1 h2 (e :: Effects) (es :: Effects) r. e :> es 
=> Compound h1 h2 e 
-> (forall (e1 :: Effects) (e2 :: Effects). (e1 :> es, e2 :> es) => h1 e1 -> h2 e2 -> Eff es r)

͘

-> Eff es r