Safe Haskell | Safe-Infered |
---|
AOP.Internal.NIAOT
Documentation
data NIAOT t m a
Non-Interference AOT transformer. The NIAOT is like the AOT transformer, but it enforces a splitting on the monadic stack. Base code and aspect code have access to a different part of the stack.
The splitting is done by assuming the stack is constructed by a transformer t on top of a monad m.
Instances
MonadState s (t m) => MonadState s (NIAOT t m) | |
MonadWriter w (t m) => MonadWriter w (NIAOT t m) | |
(Monad m, MonadReader r (t m)) => MonadReader r (NIAOT t m) | |
MonadError s (t m) => MonadError s (NIAOT t m) | |
Typeable1Monad (t m) => OpenApp (->) (NIAOT t m) | Open application of regular functions. |
Typeable1Monad (t m) => OpenApp Function (NIAOT t m) | Open application of tagged functions. |
Monad (t m) => Monad (NIAOT t m) | Monadic bind and return functions of the transformed monad. |
Typeable1Monad (t m) => Typeable1 (NIAOT t m) | Support for PolyTypeable |
MonadIO (t m) => MonadIO (NIAOT t m) | |
MonadCont (t m) => MonadCont (NIAOT t m) | |
Typeable1Monad (t m) => AOPMonad (NIAOT t m) | NIAOT performs top-level deployment of aspects |