Safe Haskell | None |
---|---|
Language | Haskell98 |
- currentModule :: MonadReader TCEnv m => m ModuleName
- withCurrentModule :: ModuleName -> TCM a -> TCM a
- getAnonymousVariables :: MonadReader TCEnv m => ModuleName -> m Nat
- withAnonymousModule :: ModuleName -> Nat -> TCM a -> TCM a
- withEnv :: TCEnv -> TCM a -> TCM a
- getEnv :: TCM TCEnv
- withIncreasedModuleNestingLevel :: TCM a -> TCM a
- withHighlightingLevel :: HighlightingLevel -> TCM a -> TCM a
- doExpandLast :: TCM a -> TCM a
- dontExpandLast :: TCM a -> TCM a
- performedSimplification :: MonadReader TCEnv m => m a -> m a
- performedSimplification' :: MonadReader TCEnv m => Simplification -> m a -> m a
- getSimplification :: MonadReader TCEnv m => m Simplification
- updateAllowedReductions :: (AllowedReductions -> AllowedReductions) -> TCEnv -> TCEnv
- modifyAllowedReductions :: (AllowedReductions -> AllowedReductions) -> TCM a -> TCM a
- putAllowedReductions :: AllowedReductions -> TCM a -> TCM a
- onlyReduceProjections :: TCM a -> TCM a
- allowAllReductions :: TCM a -> TCM a
- allowNonTerminatingReductions :: TCM a -> TCM a
- insideDotPattern :: TCM a -> TCM a
- isInsideDotPattern :: TCM Bool
Documentation
currentModule :: MonadReader TCEnv m => m ModuleName Source
Get the name of the current module, if any.
withCurrentModule :: ModuleName -> TCM a -> TCM a Source
Set the name of the current module.
getAnonymousVariables :: MonadReader TCEnv m => ModuleName -> m Nat Source
Get the number of variables bound by anonymous modules.
withAnonymousModule :: ModuleName -> Nat -> TCM a -> TCM a Source
Add variables bound by an anonymous module.
withIncreasedModuleNestingLevel :: TCM a -> TCM a Source
Increases the module nesting level by one in the given computation.
withHighlightingLevel :: HighlightingLevel -> TCM a -> TCM a Source
Set highlighting level
doExpandLast :: TCM a -> TCM a Source
Restore setting for ExpandLast
to default.
dontExpandLast :: TCM a -> TCM a Source
performedSimplification :: MonadReader TCEnv m => m a -> m a Source
If the reduced did a proper match (constructor or literal pattern), then record this as simplification step.
performedSimplification' :: MonadReader TCEnv m => Simplification -> m a -> m a Source
getSimplification :: MonadReader TCEnv m => m Simplification Source
Controlling reduction.
updateAllowedReductions :: (AllowedReductions -> AllowedReductions) -> TCEnv -> TCEnv Source
Lens for AllowedReductions
.
modifyAllowedReductions :: (AllowedReductions -> AllowedReductions) -> TCM a -> TCM a Source
putAllowedReductions :: AllowedReductions -> TCM a -> TCM a Source
onlyReduceProjections :: TCM a -> TCM a Source
Reduce Def f vs
only if f
is a projection.
allowAllReductions :: TCM a -> TCM a Source
Allow all reductions except for non-terminating functions (default).
allowNonTerminatingReductions :: TCM a -> TCM a Source
Allow all reductions including non-terminating functions.
insideDotPattern :: TCM a -> TCM a Source