Inline constants tagged with the [macro_inline]
attribute occurring in e
.
Instances For
Inline auxiliary matcher
applications.
Instances For
partial def
Lean.Compiler.LCNF.inlineMatchers.inlineMatcher
(declName : Lean.Name)
(us : List Lean.Level)
(info : Lean.Meta.MatcherInfo)
(i : Nat)
(args letFVars : Array Lean.Expr)
:
Return the declaration ConstantInfo
for the code generator.
Remark: the unsafe recursive version is tried first.
Equations
- Lean.Compiler.LCNF.getDeclInfo? declName = do let env ← Lean.getEnv pure (env.find? (Lean.Compiler.mkUnsafeRecName declName) <|> env.find? declName)
Instances For
Convert the given declaration from the Lean environment into Decl
.
The steps for this are roughly:
- partially erasing type information of the declaration
- eta-expanding the declaration value.
- if the declaration has an unsafe-rec version, use it.
- expand declarations tagged with the
[macro_inline]
attribute - turn the resulting term into LCNF declaration
Equations
- One or more equations did not get rendered due to their size.