We say a structure has a trivial structure if it has not builtin support in the runtime, it has only one constructor, and this constructor has only one relevant field.
Equations
- Lean.Compiler.LCNF.instInhabitedTrivialStructureInfo = { default := { ctorName := default, numParams := default, fieldIdx := default } }
Return some fieldIdx
if declName
is the name of an inductive datatype s.t.
- It does not have builtin support in the runtime.
- It has only one constructor.
- This constructor has only one computationally relevant field.
Equations
- One or more equations did not get rendered due to their size.
Equations
Equations
- Lean.Compiler.LCNF.getParamTypes.go (Lean.Expr.forallE binderName d b binderInfo) r = Lean.Compiler.LCNF.getParamTypes.go b (r.push d)
- Lean.Compiler.LCNF.getParamTypes.go type r = r
Convert a LCNF type from the base phase to the mono phase.
LCNF types in the mono phase do not have dependencies, and universe levels have been erased.
The type contains only →
and constants.
State for the environment extension used to save the LCNF mono phase type for declarations that do not have code associated with them. Example: constructors, inductive types, foreign functions.
Equations
- One or more equations did not get rendered due to their size.