Safe Haskell | None |
---|
- pcCall :: (Typeable1Monad m, PolyTypeable (a -> b)) => (a -> b) -> PC m a b
- pcType :: (Typeable1Monad m, PolyTypeable (a -> b)) => (a -> b) -> PC m a b
- pcAnd :: (PCAnd m a1 b1 a2 b2 pct, PCAndCtx m a1 b1 a2 b2 pct) => PC m a1 b1 -> pct m a2 b2 -> PC m a1 b1
- pcTag :: (Typeable1Monad m, PolyTypeable (a -> b)) => FunctionTag -> PC m a' b'
- pcOr :: (Typeable1Monad m, LeastGen (a1 -> b1) (a2 -> b2) (agen -> bgen)) => PC m a1 b1 -> PC m a2 b2 -> PC m agen bgen
- pcNot :: Typeable1Monad m => PC m a1 b1 -> PC m a2 b2
Documentation
pcCall :: (Typeable1Monad m, PolyTypeable (a -> b)) => (a -> b) -> PC m a bSource
Built-in pointcuts pcCall and pcType, and pointcut combinators pcAnd, pcOr and pcNot. Using typeclasses, pointcuts are open for new definitions of functions, like the Function wrapper. We also define pcSeq, that matches a sequence of two join points.
pcType :: (Typeable1Monad m, PolyTypeable (a -> b)) => (a -> b) -> PC m a bSource
pcAnd :: (PCAnd m a1 b1 a2 b2 pct, PCAndCtx m a1 b1 a2 b2 pct) => PC m a1 b1 -> pct m a2 b2 -> PC m a1 b1Source
pcTag :: (Typeable1Monad m, PolyTypeable (a -> b)) => FunctionTag -> PC m a' b'Source
pcOr :: (Typeable1Monad m, LeastGen (a1 -> b1) (a2 -> b2) (agen -> bgen)) => PC m a1 b1 -> PC m a2 b2 -> PC m agen bgenSource
Logical Or pointcut combinator.
pcNot :: Typeable1Monad m => PC m a1 b1 -> PC m a2 b2Source
Logical Not pointcut combinator.