tintin-1.10.1: A softer alternative to Haddock

Safe HaskellSafe
LanguageHaskell2010

Tintin.Capabilities

Synopsis
  • liftCapability :: (LiftableWithCapability v, Has capability (Context v)) => (capability -> Execution v) -> v

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 #