- specialize: Lean.Compiler.SpecializeAttributeKind
- nospecialize: Lean.Compiler.SpecializeAttributeKind
Instances For
Equations
- Lean.Compiler.getSpecializationArgs? env declName = Lean.Compiler.specializeAttr.getParam? env declName
Instances For
Instances For
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: Lean.Name → Lean.Compiler.SpecInfo → Lean.Compiler.SpecEntry
- cache: Lean.Expr → Lean.Name → Lean.Compiler.SpecEntry
Instances For
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
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]
Instances For
@[export lean_get_cached_specialization]
Equations
- Lean.Compiler.getCachedSpecialization env e = (Lean.Compiler.specExtension.getState env).cache.find? e