Safe Haskell | None |
---|
- dontAssignMetas :: TCM a -> TCM a
- getMetaStore :: TCM MetaStore
- modifyMetaStore :: (MetaStore -> MetaStore) -> TCM ()
- lookupMeta :: MetaId -> TCM MetaVariable
- updateMetaVar :: MetaId -> (MetaVariable -> MetaVariable) -> TCM ()
- getMetaPriority :: MetaId -> TCM MetaPriority
- isSortMeta :: MetaId -> TCM Bool
- isSortMeta_ :: MetaVariable -> Bool
- getMetaType :: MetaId -> TCM Type
- getMetaTypeInContext :: MetaId -> TCM Type
- isInstantiatedMeta :: MetaId -> TCM Bool
- isInstantiatedMeta' :: MetaId -> TCM (Maybe Term)
- createMetaInfo :: TCM MetaInfo
- createMetaInfo' :: RunMetaOccursCheck -> TCM MetaInfo
- setValueMetaName :: Term -> MetaNameSuggestion -> TCM ()
- getMetaNameSuggestion :: MetaId -> TCM MetaNameSuggestion
- setMetaNameSuggestion :: MetaId -> MetaNameSuggestion -> TCM ()
- updateMetaVarRange :: MetaId -> Range -> TCM ()
- modifyInteractionPoints :: (InteractionPoints -> InteractionPoints) -> TCM ()
- registerInteractionPoint :: Range -> Maybe Nat -> TCM InteractionId
- connectInteractionPoint :: InteractionId -> MetaId -> TCM ()
- removeInteractionPoint :: InteractionId -> TCM ()
- removeOldInteractionPoint :: InteractionId -> TCM ()
- getInteractionPoints :: TCM [InteractionId]
- getInteractionMetas :: TCM [MetaId]
- getInteractionIdsAndMetas :: TCM [(InteractionId, MetaId)]
- isInteractionMeta :: MetaId -> TCM (Maybe InteractionId)
- lookupInteractionPoint :: InteractionId -> TCM InteractionPoint
- lookupInteractionId :: InteractionId -> TCM MetaId
- newMeta :: MetaInfo -> MetaPriority -> Permutation -> Judgement Type a -> TCM MetaId
- newMeta' :: MetaInstantiation -> MetaInfo -> MetaPriority -> Permutation -> Judgement Type a -> TCM MetaId
- getInteractionRange :: InteractionId -> TCM Range
- getMetaRange :: MetaId -> TCM Range
- getInteractionScope :: InteractionId -> TCM ScopeInfo
- getOldInteractionScope :: InteractionId -> TCM ScopeInfo
- withMetaInfo' :: MetaVariable -> TCM a -> TCM a
- withMetaInfo :: Closure Range -> TCM a -> TCM a
- getInstantiatedMetas :: TCM [MetaId]
- getOpenMetas :: TCM [MetaId]
- listenToMeta :: Listener -> MetaId -> TCM ()
- unlistenToMeta :: Listener -> MetaId -> TCM ()
- getMetaListeners :: MetaId -> TCM [Listener]
- clearMetaListeners :: MetaId -> TCM ()
- freezeMetas :: TCM ()
- unfreezeMetas :: TCM ()
- isFrozen :: MetaId -> TCM Bool
- class UnFreezeMeta a where
- unfreezeMeta :: a -> TCM ()
Documentation
dontAssignMetas :: TCM a -> TCM aSource
Switch off assignment of metas.
getMetaStore :: TCM MetaStoreSource
Get the meta store.
modifyMetaStore :: (MetaStore -> MetaStore) -> TCM ()Source
lookupMeta :: MetaId -> TCM MetaVariableSource
Lookup a meta variable
updateMetaVar :: MetaId -> (MetaVariable -> MetaVariable) -> TCM ()Source
isSortMeta :: MetaId -> TCM BoolSource
getMetaType :: MetaId -> TCM TypeSource
getMetaTypeInContext :: MetaId -> TCM TypeSource
Given a meta, return the type applied to the current context.
createMetaInfo :: TCM MetaInfoSource
Create MetaInfo
in the current environment.
setValueMetaName :: Term -> MetaNameSuggestion -> TCM ()Source
setMetaNameSuggestion :: MetaId -> MetaNameSuggestion -> TCM ()Source
updateMetaVarRange :: MetaId -> Range -> TCM ()Source
Query and manipulate interaction points.
modifyInteractionPoints :: (InteractionPoints -> InteractionPoints) -> TCM ()Source
registerInteractionPoint :: Range -> Maybe Nat -> TCM InteractionIdSource
Register an interaction point during scope checking. If there is no interaction id yet, create one.
connectInteractionPoint :: InteractionId -> MetaId -> TCM ()Source
Hook up meta variable to interaction point.
removeInteractionPoint :: InteractionId -> TCM ()Source
Move an interaction point from the current ones to the old ones.
getInteractionPoints :: TCM [InteractionId]Source
Get a list of interaction ids.
getInteractionMetas :: TCM [MetaId]Source
Get all metas that correspond to interaction ids.
getInteractionIdsAndMetas :: TCM [(InteractionId, MetaId)]Source
Get all metas that correspond to interaction ids.
isInteractionMeta :: MetaId -> TCM (Maybe InteractionId)Source
Does the meta variable correspond to an interaction point?
Time: O(n)
where n
is the number of interaction metas.
lookupInteractionPoint :: InteractionId -> TCM InteractionPointSource
Get the information associated to an interaction point.
lookupInteractionId :: InteractionId -> TCM MetaIdSource
Get MetaId
for an interaction point.
Precondition: interaction point is connected.
newMeta :: MetaInfo -> MetaPriority -> Permutation -> Judgement Type a -> TCM MetaIdSource
Generate new meta variable.
newMeta' :: MetaInstantiation -> MetaInfo -> MetaPriority -> Permutation -> Judgement Type a -> TCM MetaIdSource
Generate a new meta variable with some instantiation given.
For instance, the instantiation could be a PostponedTypeCheckingProblem
.
getInteractionRange :: InteractionId -> TCM RangeSource
Get the Range
for an interaction point.
withMetaInfo' :: MetaVariable -> TCM a -> TCM aSource
getOpenMetas :: TCM [MetaId]Source
listenToMeta :: Listener -> MetaId -> TCM ()Source
listenToMeta l m
: register l
as a listener to m
. This is done
when the type of l is blocked by m
.
unlistenToMeta :: Listener -> MetaId -> TCM ()Source
Unregister a listener.
getMetaListeners :: MetaId -> TCM [Listener]Source
Get the listeners to a meta.
clearMetaListeners :: MetaId -> TCM ()Source
Freezing and unfreezing metas.
freezeMetas :: TCM ()Source
Freeze all meta variables.
unfreezeMetas :: TCM ()Source
Thaw all meta variables.
class UnFreezeMeta a whereSource
Unfreeze meta and its type if this is a meta again. Does not unfreeze deep occurrences of metas.
unfreezeMeta :: a -> TCM ()Source