Safe Haskell | Safe-Infered |
---|
AOP.Internal.AOT_secure_privileged
- data AOT_sp m a
- runAOT_sp :: Monad m => SP (AOT_sp m) -> AOT_sp m a -> m a
- wappt_sp :: (Typeable1Monad m, PolyTypeable (a -> AOT_sp m b)) => (a -> AOT_sp m b) -> FunctionTag -> a -> AOT_sp m b
Documentation
data AOT_sp m a
Instances
MonadTrans AOT_sp | |
MonadState s m => MonadState s (AOT_sp m) | |
MonadWriter w m => MonadWriter w (AOT_sp m) | |
MonadReader r m => MonadReader r (AOT_sp m) | |
MonadError s m => MonadError s (AOT_sp m) | |
Typeable1Monad m => OpenApp (->) (AOT_sp m) | Every regular functions is tagged with the same default tag. |
Typeable1Monad m => OpenApp Function (AOT_sp m) | Function is a wrapper to add a notion of identity based on tags. |
Monad m => Monad (AOT_sp m) | Monadic bind and return operations for a transformed monad. The aspect environment is wrapped or passed around as in a state monad transformer. |
Typeable1Monad m => Typeable1 (AOT_sp m) | Typeable instance so types of computations in AOT_sp can be compared (like in pcCall and pcType) |
MonadIO m => MonadIO (AOT_sp m) | |
(Typeable1Monad m, MonadDeploy AOT_sp m) => AOPMonad (AOT_sp m) | The semantics of aspect deployment are defined in the MonadDeploy typeclass. AOT_sp assumes it is on top of an MonadDeploy instance, and uses that functions for aspect deployment. |
(MonadJPStack m, Typeable1Monad (AOT_sp m)) => MonadJPStack (AOT_sp m) |
runAOT_sp :: Monad m => SP (AOT_sp m) -> AOT_sp m a -> m a
Runs an AOT_sp computation to obtain a computation in the underlying monad
wappt_sp :: (Typeable1Monad m, PolyTypeable (a -> AOT_sp m b)) => (a -> AOT_sp m b) -> FunctionTag -> a -> AOT_sp m b
Implementation of woven application for AOT_sp, used in the overloading of #. FunctionTag argument is used for function identity: Wrapped functions are equal when their tags are equal Regular functions share the same tag, and are compared using StableNames.