Safe Haskell | None |
---|
- data Direction
- data LocalPath
- moveLocally :: Direction -> LocalPath -> LocalPath
- extendLocalPath :: Path -> LocalPath -> LocalPath
- data ScopedKernel = ScopedKernel {
- resumeS :: SAST -> IO ()
- abortS :: IO ()
- applyS :: SAST -> RewriteH Core -> HermitMEnv -> IO (KureMonad SAST)
- queryS :: forall a. SAST -> TranslateH Core a -> HermitMEnv -> IO (KureMonad a)
- deleteS :: SAST -> IO ()
- listS :: IO [SAST]
- pathS :: SAST -> IO [Path]
- modPathS :: SAST -> (LocalPath -> LocalPath) -> HermitMEnv -> IO (KureMonad SAST)
- beginScopeS :: SAST -> IO SAST
- endScopeS :: SAST -> IO SAST
- 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 -> LocalPath -> LocalPathSource
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.