@[inline]
Collect set of (let) free variables in a LCNF value. This code exploits the LCNF property that local declarations do not occur in types.
Equations
def
Lean.Compiler.LCNF.collectLocalDecls.go
(s : Lean.Compiler.LCNF.UsedLocalDecls)
(e : Lean.Expr)
:
Equations
- One or more equations did not get rendered due to their size.
- Lean.Compiler.LCNF.collectLocalDecls.go s (Lean.Expr.proj typeName idx e_2) = Lean.Compiler.LCNF.collectLocalDecls.go s e_2
- Lean.Compiler.LCNF.collectLocalDecls.go s (Lean.Expr.forallE binderName binderType body binderInfo) = s
- Lean.Compiler.LCNF.collectLocalDecls.go s (Lean.Expr.lam binderName binderType b binderInfo) = Lean.Compiler.LCNF.collectLocalDecls.go s b
- Lean.Compiler.LCNF.collectLocalDecls.go s (Lean.Expr.app f a) = Lean.Compiler.LCNF.collectLocalDecls.go (Lean.Compiler.LCNF.collectLocalDecls.go s a) f
- Lean.Compiler.LCNF.collectLocalDecls.go s (Lean.Expr.mdata data b) = Lean.Compiler.LCNF.collectLocalDecls.go s b
- Lean.Compiler.LCNF.collectLocalDecls.go s (Lean.Expr.fvar fvarId) = Lean.HashSet.insert s fvarId
- Lean.Compiler.LCNF.collectLocalDecls.go s e = s
@[inline]
Equations
- One or more equations did not get rendered due to their size.