- specialize : Lean.Compiler.SpecializeAttributeKind
- nospecialize : Lean.Compiler.SpecializeAttributeKind
Instances For
Equations
- Lean.Compiler.getSpecializationArgs? env declName = Lean.Compiler.specializeAttr.getParam? env declName
Instances For
Equations
- Lean.Compiler.hasSpecializeAttribute env declName = (Lean.Compiler.getSpecializationArgs? env declName).isSome
Instances For
Equations
- Lean.Compiler.hasNospecializeAttribute env declName = Lean.Compiler.nospecializeAttr.hasTag env declName
Instances For
@[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
Instances For
Equations
- argKinds : List Lean.Compiler.SpecArgKind
Instances For
Equations
- Lean.Compiler.instInhabitedSpecInfo = { default := { mutualDecls := default, argKinds := default } }
- specInfo : Lean.SMap Lean.Name Lean.Compiler.SpecInfo
Instances For
Equations
- Lean.Compiler.instInhabitedSpecState = { default := { specInfo := default, cache := default } }
- info (name : Lean.Name) (info : Lean.Compiler.SpecInfo) : Lean.Compiler.SpecEntry
- cache (key : Lean.Expr) (fn : Lean.Name) : Lean.Compiler.SpecEntry
Instances For
Equations
- Lean.Compiler.instInhabitedSpecEntry = { default := Lean.Compiler.SpecEntry.info default default }
Equations
- s.addEntry (Lean.Compiler.SpecEntry.info name info) = { specInfo := s.specInfo.insert name info, cache := s.cache }
- s.addEntry (Lean.Compiler.SpecEntry.cache key fn) = { specInfo := s.specInfo, cache := s.cache.insert key fn }
Instances For
Equations
- { specInfo := m₁, cache := m₂ }.switch = { specInfo := m₁.switch, cache := m₂.switch }
Instances For
@[export lean_add_specialization_info]
def
Lean.Compiler.addSpecializationInfo
(env : Lean.Environment)
(fn : Lean.Name)
(info : Lean.Compiler.SpecInfo)
:
Equations
Instances For
@[export lean_get_specialization_info]
Equations
- Lean.Compiler.getSpecializationInfo env fn = (Lean.Compiler.specExtension.getState env).specInfo.find? fn
Instances For
@[export lean_cache_specialization]
Equations
Instances For
@[export lean_get_cached_specialization]
Equations
- Lean.Compiler.getCachedSpecialization env e = (Lean.Compiler.specExtension.getState env).cache.find? e