- specialize: Lean.Compiler.SpecializeAttributeKind
- nospecialize: Lean.Compiler.SpecializeAttributeKind
@[export lean_has_specialize_attribute]
@[export lean_has_nospecialize_attribute]
- fixed: Lean.Compiler.SpecArgKind
- fixedNeutral: Lean.Compiler.SpecArgKind
- fixedHO: Lean.Compiler.SpecArgKind
- fixedInst: Lean.Compiler.SpecArgKind
- other: Lean.Compiler.SpecArgKind
Equations
- argKinds : Lean.Compiler.SpecArgKind
Equations
- Lean.Compiler.instInhabitedSpecInfo = { default := { mutualDecls := default, argKinds := default } }
- specInfo : Lean.SMap Lean.Name Lean.Compiler.SpecInfo
Equations
- Lean.Compiler.instInhabitedSpecState = { default := { specInfo := default, cache := default } }
- info: Lean.Name → Lean.Compiler.SpecInfo → Lean.Compiler.SpecEntry
- cache: Lean.Expr → Lean.Name → Lean.Compiler.SpecEntry
Equations
- Lean.Compiler.instInhabitedSpecEntry = { default := Lean.Compiler.SpecEntry.info default default }
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Compiler.SpecState.switch _fun_discr = match _fun_discr with | { specInfo := m₁, cache := m₂ } => { specInfo := Lean.SMap.switch m₁, cache := Lean.SMap.switch m₂ }
@[export lean_add_specialization_info]
def
Lean.Compiler.addSpecializationInfo
(env : Lean.Environment)
(fn : Lean.Name)
(info : Lean.Compiler.SpecInfo)
:
Equations
@[export lean_get_specialization_info]
Equations
@[export lean_cache_specialization]
Equations
@[export lean_get_cached_specialization]