Safe Haskell | None |
---|
- data Direction
- type LocalPath = SnocPath
- moveLocally :: Direction -> LocalPathH -> LocalPathH
- data ScopedKernel = ScopedKernel {
- resumeS :: (MonadIO m, MonadCatch m) => SAST -> m ()
- abortS :: MonadIO m => m ()
- applyS :: (MonadIO m, MonadCatch m, Injection ModGuts g, Walker HermitC g) => RewriteH g -> HermitMEnv -> SAST -> m SAST
- queryS :: (MonadIO m, MonadCatch m, Injection ModGuts g, Walker HermitC g) => TranslateH g a -> HermitMEnv -> SAST -> m a
- deleteS :: (MonadIO m, MonadCatch m) => SAST -> m ()
- listS :: MonadIO m => m [SAST]
- pathS :: (MonadIO m, MonadCatch m) => SAST -> m [PathH]
- modPathS :: (MonadIO m, MonadCatch m) => (LocalPathH -> LocalPathH) -> HermitMEnv -> SAST -> m SAST
- beginScopeS :: (MonadIO m, MonadCatch m) => SAST -> m SAST
- endScopeS :: (MonadIO m, MonadCatch m) => SAST -> m SAST
- kernelS :: Kernel
- toASTS :: (MonadIO m, MonadCatch m) => SAST -> m AST
- newtype SAST = SAST Int
- scopedKernel :: (ScopedKernel -> SAST -> IO ()) -> ModGuts -> CoreM ModGuts
Documentation
A primitive means of denoting navigation of a tree (within a local scope).
moveLocally :: Direction -> LocalPathH -> LocalPathHSource
Movement confined within the local scope.
data ScopedKernel Source
An alternative HERMIT kernel, that provides scoping.
ScopedKernel | |
|
A handle for an AST
combined with scoping information.
scopedKernel :: (ScopedKernel -> SAST -> IO ()) -> ModGuts -> CoreM ModGutsSource
Start a HERMIT client by providing an IO function that takes the initial ScopedKernel
and inital SAST
handle.
The Modguts
to CoreM
Modguts' function required by GHC Plugins is returned.