bluefin-internal-0.3.2.0: The Bluefin effect system, internals
Safe HaskellNone
LanguageHaskell2010

Bluefin.Internal.DslBuilder

Documentation

newtype Forall (f :: k -> k1 -> Type) (r :: k1) 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 {k1} {k2} f (r :: k2). (forall (es :: k1). f es r) -> Forall f r Source #

newtype DslBuilder (h :: Effects -> Type) 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 :: forall h (es :: Effects) r. Handle h => h es -> DslBuilder h r -> Eff es r Source #

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