bluefin-0.7.0.1: The Bluefin effect system
Safe HaskellSafe-Inferred
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

Methods

oneWayCoercibleImpl :: OneWayCoercibleD (DslBuilderEff h e r) (DslBuilderEff h es r) #

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 :: forall h (es :: Effects) r. (forall (e :: Effects). h e -> Eff (e :& es) r) -> DslBuilderEff h es r #

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