Safe Haskell | Safe-Infered |
---|
AOP.Internal.NonInterferenceDef
- niPcAspect :: (Typeable1Monad m, Typeable1Monad (t m), LessGen (a -> NIAOT t m b) (c -> NIAOT t m d)) => NIPC a (NIAOT t m b) t -> Advice (c -> NIAOT t m d) -> Aspect (NIAOT t m) (a -> NIAOT t m b) (c -> NIAOT t m d)
- niAdviceAspect :: (Typeable1Monad m, Typeable1Monad (t m), LessGen (a -> NIAOT t m b) (c -> NIAOT t m d)) => PC (NIAOT t m) (a -> NIAOT t m b) -> NIAdvice c d t -> Aspect (NIAOT t m) (a -> NIAOT t m b) (c -> NIAOT t m d)
- niAspect :: (Typeable1Monad m, Typeable1Monad (t m), LessGen (a -> NIAOT t m b) (c -> NIAOT t m d)) => NIPC a (NIAOT t m b) t -> NIAdvice c d t -> Aspect (NIAOT t m) (a -> NIAOT t m b) (c -> NIAOT t m d)
- niBase :: (MonadTrans t, Typeable1Monad (t m)) => NIBase a b m -> a -> NIAOT t m b
- type NIPC a b t = forall m. (Typeable1Monad m, Typeable1Monad (t m)) => PC (NIAOT t m) (a -> b)
- type NIAdvice a b t = forall m. (Typeable1Monad m, Typeable1Monad (t m)) => Advice (a -> NIAOT t m b)
Documentation
niPcAspect :: (Typeable1Monad m, Typeable1Monad (t m), LessGen (a -> NIAOT t m b) (c -> NIAOT t m d)) => NIPC a (NIAOT t m b) t -> Advice (c -> NIAOT t m d) -> Aspect (NIAOT t m) (a -> NIAOT t m b) (c -> NIAOT t m d)
Builds an aspect with a NI pointcut
niAdviceAspect :: (Typeable1Monad m, Typeable1Monad (t m), LessGen (a -> NIAOT t m b) (c -> NIAOT t m d)) => PC (NIAOT t m) (a -> NIAOT t m b) -> NIAdvice c d t -> Aspect (NIAOT t m) (a -> NIAOT t m b) (c -> NIAOT t m d)
Builds an aspect with a NI advice
niAspect :: (Typeable1Monad m, Typeable1Monad (t m), LessGen (a -> NIAOT t m b) (c -> NIAOT t m d)) => NIPC a (NIAOT t m b) t -> NIAdvice c d t -> Aspect (NIAOT t m) (a -> NIAOT t m b) (c -> NIAOT t m d)
Builds a NI aspect, that is it has NI pointcut and advice
niBase :: (MonadTrans t, Typeable1Monad (t m)) => NIBase a b m -> a -> NIAOT t m b
Builds a NI base program
type NIPC a b t = forall m. (Typeable1Monad m, Typeable1Monad (t m)) => PC (NIAOT t m) (a -> b)
Types of Non-Interfering poincut, advice, and base code | The non-interference property is obtained by parameterizing on the monad m, or the monad transformer t.
type NIAdvice a b t = forall m. (Typeable1Monad m, Typeable1Monad (t m)) => Advice (a -> NIAOT t m b)