hermit-0.2.0.0: Haskell Equational Reasoning Model-to-Implementation Tunnel

Safe HaskellNone

Language.HERMIT.Primitive.Navigation

Contents

Synopsis

Navigation

externals :: [External]Source

Externals involving navigating to named entities.

bindGroup :: Name -> Core -> BoolSource

Verify that this is a binding group defining the given name.

namedBinding :: Name -> Core -> BoolSource

Verify that this is the definition of the given name.

bindingGroupOf :: (AddBindings c, ExtendPath c Crumb, ReadPath c Crumb, MonadCatch m) => Name -> Translate c m Core PathHSource

Find the path to the RHS of the binding group of the given name.

considerName :: (AddBindings c, ExtendPath c Crumb, ReadPath c Crumb, MonadCatch m) => Name -> Translate c m Core PathHSource

Find the path to the definiiton of the provided name.

rhsOf :: (ExtendPath c Crumb, AddBindings c, ReadPath c Crumb, MonadCatch m) => Name -> Translate c m Core PathHSource

Find the path to the RHS of the definition of the given name.

considerTargets :: forall c m. (ExtendPath c Crumb, AddBindings c, MonadCatch m) => Translate c m Core [String]Source

Find the names of all the variables that could be targets of "consider".

data Considerable Source

Language constructs that can be zoomed to.

considerables :: [(String, Considerable)]Source

Lookup table for constructs that can be considered; the keys are the arguments the user can give to the "consider" command.

considerConstructT :: (AddBindings c, ExtendPath c Crumb, ReadPath c Crumb, MonadCatch m) => Considerable -> Translate c m Core PathHSource

Find the path to the first matching construct.

nthArgPath :: Monad m => Int -> Translate c m CoreExpr PathHSource

Construct a path to the (n-1)th argument in a nested sequence of Apps.