A builder for attributes that are applied to declarations of a common type and
group them by the given attribute argument (an arbitrary Name, currently).
Also creates a second "builtin" attribute used for bootstrapping, which saves
the applied declarations in an IO.Ref instead of an environment extension.
Used to register elaborators, macros, tactics, and delaborators.
KeyedDeclsAttribute definition.
Important: mkConst valueTypeName and γ must be definitionally equal.
- builtinName : Name
Builtin attribute name, if any (e.g., `builtin_term_elab)
- name : Name
Attribute name (e.g., `term_elab)
- descr : String
Attribute description
- valueTypeName : Name
Convert
Syntaxinto aKey, the default implementation expects an identifier.
Instances For
- key : Key
- declName : Name
Name of a declaration stored in the environment which has type
mkConst Def.valueTypeName.
Instances For
- isBuiltin : Bool
- value : γ
Recall that we cannot store
γinto .olean files because it is a closure. GivenOLeanEntry.declName, we convert it into aγby using the unsafe functionevalConstCheck.
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Instances For
Retrieve entries tagged with [attr key] or [builtinAttr key].
Instances For
Retrieve values tagged with [attr key] or [builtinAttr key].