Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data KernelEffect :: * where
- Apply :: (Injection ModGuts g, Walker HermitC g) => RewriteH g -> KernelEffect
- Pathfinder :: (Injection ModGuts g, Walker HermitC g) => TransformH g LocalPathH -> KernelEffect
- Direction :: Direction -> KernelEffect
- BeginScope :: KernelEffect
- EndScope :: KernelEffect
- Delete :: SAST -> KernelEffect
- performKernelEffect :: (MonadCatch m, MonadError CLException m, MonadIO m, MonadState CommandLineState m) => KernelEffect -> ExprH -> m ()
Documentation
data KernelEffect :: * where Source
KernelEffects are things that affect the state of the Kernel - Apply a rewrite (giving a whole new lower-level AST). - Change the current location using a computed path. - Change the currect location using directions. - Begin or end a scope. - Delete an AST - Run a precondition or other predicate that must not fail.
Apply :: (Injection ModGuts g, Walker HermitC g) => RewriteH g -> KernelEffect | |
Pathfinder :: (Injection ModGuts g, Walker HermitC g) => TransformH g LocalPathH -> KernelEffect | |
Direction :: Direction -> KernelEffect | |
BeginScope :: KernelEffect | |
EndScope :: KernelEffect | |
Delete :: SAST -> KernelEffect |
performKernelEffect :: (MonadCatch m, MonadError CLException m, MonadIO m, MonadState CommandLineState m) => KernelEffect -> ExprH -> m () Source