bluefin-0.5.0.0: The Bluefin effect system
Safe HaskellNone
LanguageHaskell2010

Bluefin.DslBuilderEff

Description

Like Bluefin.DslBuilder, but when you want to be able to run additional effects as well.

Documentation

data DslBuilderEff (h :: Effects -> Type) (es :: Effects) r #

Instances

Instances details
e :> es => OneWayCoercible (DslBuilderEff h e r :: Type) (DslBuilderEff h es r :: Type) 
Instance details

Defined in Bluefin.Internal.DslBuilderEff

Handle h => Applicative (DslBuilderEff h es) 
Instance details

Defined in Bluefin.Internal.DslBuilderEff

Methods

pure :: a -> DslBuilderEff h es a #

(<*>) :: DslBuilderEff h es (a -> b) -> DslBuilderEff h es a -> DslBuilderEff h es b #

liftA2 :: (a -> b -> c) -> DslBuilderEff h es a -> DslBuilderEff h es b -> DslBuilderEff h es c #

(*>) :: DslBuilderEff h es a -> DslBuilderEff h es b -> DslBuilderEff h es b #

(<*) :: DslBuilderEff h es a -> DslBuilderEff h es b -> DslBuilderEff h es a #

Handle h => Functor (DslBuilderEff h es) 
Instance details

Defined in Bluefin.Internal.DslBuilderEff

Methods

fmap :: (a -> b) -> DslBuilderEff h es a -> DslBuilderEff h es b #

(<$) :: a -> DslBuilderEff h es b -> DslBuilderEff h es a #

Handle h => Monad (DslBuilderEff h es) 
Instance details

Defined in Bluefin.Internal.DslBuilderEff

Methods

(>>=) :: DslBuilderEff h es a -> (a -> DslBuilderEff h es b) -> DslBuilderEff h es b #

(>>) :: DslBuilderEff h es a -> DslBuilderEff h es b -> DslBuilderEff h es b #

return :: a -> DslBuilderEff h es a #

dslBuilderEff #

Arguments

:: forall h (es :: Effects) r. (forall (e :: Effects). h e -> Eff (e :& es) r) 
-> DslBuilderEff h es r

͘

runDslBuilderEff #

Arguments

:: forall h (es :: Effects) r. h es 
-> DslBuilderEff h es r 
-> Eff es r

͘