tintin-1.10.0: 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 #