tintin-1.0.4: A softer alternative to Haddock

Safe HaskellSafe
LanguageHaskell2010

Tintin.Capabilities

Synopsis

Documentation

liftCapability allows executing an IO action stored in a Capability value in the Effectful monad.

It is intended to be used within the Capability definition module, not outside.

data MyCapability = MyCapability
  { _myAction :: IO ()
  }

myAction :: Has MyCapability e
         => Effectful e ()
myAction = liftCapability _myAction

liftCapability :: (LiftableWithCapability v, Has capability (Context v)) => (capability -> Execution v) -> v Source #