Safe Haskell | Safe-Infered |
---|
AOP.JPStackT
- data EJP = forall a b m . (Monad m, PolyTypeable (a -> m b)) => EJP (a -> m b) FunctionTag a
- data JPStackT m a
- type JPStack = [EJP]
- class Monad m => MonadJPStack m where
- getJPStack :: m JPStack
- addJpToStack :: EJP -> m ()
- popJPStack :: m ()
- pcCflow :: (PcCflow f, Typeable1Monad m, MonadJPStack m, PolyTypeable (f a (m b))) => f a (m b) -> PC m c (m' d)
- pcCflowbelow :: (PcCflowbelow f, Typeable1Monad m, MonadJPStack m, PolyTypeable (f a (m b))) => f a (m b) -> PC m c (m' d)
- runJPStackT :: Monad m => JPStackT m a -> JPStack -> m a
- jpStackAspect :: (Typeable1Monad m, MonadJPStack m) => Aspect m c1 (m c2) c1 c2
Documentation
data EJP
Constructors
forall a b m . (Monad m, PolyTypeable (a -> m b)) => EJP (a -> m b) FunctionTag a |
data JPStackT m a
Instances
MonadTrans JPStackT | |
Monad m => MonadState s (JPStackT (StateT s m)) | |
MonadWriter w m => MonadWriter w (JPStackT m) | |
MonadReader r m => MonadReader r (JPStackT m) | |
Monad m => Monad (JPStackT m) | |
Typeable1Monad m => Typeable1 (JPStackT m) | |
MonadIO m => MonadIO (JPStackT m) | |
MonadCont m => MonadCont (JPStackT m) | |
Monad m => MonadJPStack (JPStackT m) |
class Monad m => MonadJPStack m where
Instances
(MonadJPStack m, Typeable1Monad (AOT_sp m)) => MonadJPStack (AOT_sp m) | |
(MonadJPStack m, Typeable1Monad (AOT_s m)) => MonadJPStack (AOT_s m) | |
(MonadJPStack m, Typeable1Monad (AOT m)) => MonadJPStack (AOT m) | |
Monad m => MonadJPStack (JPStackT m) |
pcCflow :: (PcCflow f, Typeable1Monad m, MonadJPStack m, PolyTypeable (f a (m b))) => f a (m b) -> PC m c (m' d)
pcCflowbelow :: (PcCflowbelow f, Typeable1Monad m, MonadJPStack m, PolyTypeable (f a (m b))) => f a (m b) -> PC m c (m' d)
runJPStackT :: Monad m => JPStackT m a -> JPStack -> m a
jpStackAspect :: (Typeable1Monad m, MonadJPStack m) => Aspect m c1 (m c2) c1 c2
Join points are collected by a regular aspect | deployed at some bootstrapping time.