Auxiliary inductive datatype for combining unelaborated syntax and already elaborated expressions. It is used to elaborate applications.
- stx (val : Lean.Syntax) : Lean.Elab.Term.Arg
- expr (val : Lean.Expr) : Lean.Elab.Term.Arg
Instances For
Equations
- Lean.Elab.Term.instInhabitedArg = { default := Lean.Elab.Term.Arg.stx default }
Named arguments created using the notation (x := val).
- ref : Lean.Syntax
- name : Lean.Name
- val : Lean.Elab.Term.Arg
- suppressDeps : Bool
If
true, then make all parameters that depend on this one become implicit. This is used for projection notation, since structure parameters might be explicit for classes.
Instances For
def
Lean.Elab.Term.addNamedArg
(namedArgs : Array Lean.Elab.Term.NamedArg)
(namedArg : Lean.Elab.Term.NamedArg)
:
Add a new named argument to namedArgs, and throw an error if it already contains a named argument
with the same name.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Elab.Term.expandApp stx = do let __discr ← Lean.Elab.Term.expandArgs stx[1].getArgs match __discr with | (namedArgs, args, ellipsis) => pure (stx[0], namedArgs, args, ellipsis)