bluefin-internal-0.8.0.0: The Bluefin effect system, internals
Safe HaskellSafe-Inferred
LanguageHaskell2010

Bluefin.Internal.DslBuilder

Documentation

newtype Forall f r Source #

Constructors

MkForall 

Fields

Instances

Instances details
(forall (es :: k). Applicative (f es)) => Applicative (Forall f) Source # 
Instance details

Defined in Bluefin.Internal.DslBuilder

Methods

pure :: a -> Forall f a

(<*>) :: Forall f (a -> b) -> Forall f a -> Forall f b

liftA2 :: (a -> b -> c) -> Forall f a -> Forall f b -> Forall f c

(*>) :: Forall f a -> Forall f b -> Forall f b

(<*) :: Forall f a -> Forall f b -> Forall f a

(forall (es :: k). Functor (f es)) => Functor (Forall f) Source # 
Instance details

Defined in Bluefin.Internal.DslBuilder

Methods

fmap :: (a -> b) -> Forall f a -> Forall f b

(<$) :: a -> Forall f b -> Forall f a

(forall (es :: k). Monad (f es)) => Monad (Forall f) Source # 
Instance details

Defined in Bluefin.Internal.DslBuilder

Methods

(>>=) :: Forall f a -> (a -> Forall f b) -> Forall f b

(>>) :: Forall f a -> Forall f b -> Forall f b

return :: a -> Forall f a

mkForall :: (forall es. f es r) -> Forall f r Source #

newtype DslBuilder h r Source #

Constructors

MkDslBuilder 

Instances

Instances details
Handle h => Applicative (DslBuilder h) Source # 
Instance details

Defined in Bluefin.Internal.DslBuilder

Methods

pure :: a -> DslBuilder h a

(<*>) :: DslBuilder h (a -> b) -> DslBuilder h a -> DslBuilder h b

liftA2 :: (a -> b -> c) -> DslBuilder h a -> DslBuilder h b -> DslBuilder h c

(*>) :: DslBuilder h a -> DslBuilder h b -> DslBuilder h b

(<*) :: DslBuilder h a -> DslBuilder h b -> DslBuilder h a

Handle h => Functor (DslBuilder h) Source # 
Instance details

Defined in Bluefin.Internal.DslBuilder

Methods

fmap :: (a -> b) -> DslBuilder h a -> DslBuilder h b

(<$) :: a -> DslBuilder h b -> DslBuilder h a

Handle h => Monad (DslBuilder h) Source # 
Instance details

Defined in Bluefin.Internal.DslBuilder

Methods

(>>=) :: DslBuilder h a -> (a -> DslBuilder h b) -> DslBuilder h b

(>>) :: DslBuilder h a -> DslBuilder h b -> DslBuilder h b

return :: a -> DslBuilder h a

runDslBuilder :: Handle h => h es -> DslBuilder h r -> Eff es r Source #

dslBuilder :: (forall e. h e -> Eff e r) -> DslBuilder h r Source #