Maps declaration names to α
.
Equations
Instances For
Equations
- Lean.instInhabitedNameMapExtension = inferInstanceAs (Inhabited (Lean.SimplePersistentEnvExtension (Lean.Name × α) (Lean.NameMap α)))
def
Lean.NameMapExtension.find?
{α : Type}
(ext : Lean.NameMapExtension α)
(env : Lean.Environment)
:
Look up a value in the given extension in the environment.
Equations
- ext.find? env = (Lean.SimplePersistentEnvExtension.getState ext env).find?
Instances For
def
Lean.NameMapExtension.add
{M : Type → Type}
{α : Type}
[Monad M]
[Lean.MonadEnv M]
[Lean.MonadError M]
(ext : Lean.NameMapExtension α)
(k : Lean.Name)
(v : α)
:
M Unit
Add the given k,v pair to the NameMapExtension.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Registers a new extension with the given name and type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The inputs to registerNameMapAttribute
.
- name : Lean.Name
The name of the attribute
- ref : Lean.Name
The declaration which creates the attribute
- descr : String
The description of the attribute
- add : Lean.Name → Lean.Syntax → Lean.AttrM α
This function is called when the attribute is applied. It should produce a value of type
α
from the given attribute syntax.
Instances For
instance
Lean.instInhabitedNameMapAttributeImpl :
{a : Type} → Inhabited (Lean.NameMapAttributeImpl a)
Equations
- Lean.instInhabitedNameMapAttributeImpl = { default := { name := default, ref := default, descr := default, add := default } }
Similar to registerParametricAttribute
except that attributes do not
have to be assigned in the same file as the declaration.
Equations
- One or more equations did not get rendered due to their size.