bluefin-0.10.0.0: The Bluefin effect system
Safe HaskellNone
LanguageHaskell2010

Bluefin.Capability.Tell

Synopsis

Documentation

In most cases you'll probably prefer Yield to Tell, but Tell can still be useful in some cases, for example with Data.Monoid.Any to determine whether an event ever occurred.

Capability

data Tell w (e :: Effects) #

Instances

Instances details
e <: es => OneWayCoercible (Tell w e :: Type) (Tell w es :: Type) 
Instance details

Defined in Bluefin.Internal

Methods

oneWayCoercibleImpl :: OneWayCoercibleD (Tell w e) (Tell w es) #

Handle (Tell w) 
Instance details

Defined in Bluefin.Internal

Methods

handleImpl :: HandleD (Tell w) #

(TypeError ('Text "Tell cannot be cloned. Perhaps you want an STM channel?") :: Constraint) => CloneableHandle (Tell w) 
Instance details

Defined in Bluefin.Internal.CloneableHandle

Methods

cloneableHandleImpl :: CloneableHandleD (Tell w)

Handlers

runTell :: forall w (es :: Effects) r. Monoid w => (forall (e :: Effects). Tell w e -> Eff (e :& es) r) -> Eff es (r, w) #

execTell :: forall w (es :: Effects) r. Monoid w => (forall (e :: Effects). Tell w e -> Eff (e :& es) r) -> Eff es w #

Effectful operations

tell :: forall (e :: Effects) (es :: Effects) w. e <: es => Tell w e -> w -> Eff es () #