Transform sequence of pushes and appends into acceptable code
Instances For
Instances For
Equations
- Lean.Elab.Term.Quotation.ArrayStxBuilder.build (Sum.inl elems) = Lean.quote `term elems
- Lean.Elab.Term.Quotation.ArrayStxBuilder.build (Sum.inr arr) = arr
Instances For
Equations
Instances For
Equations
Instances For
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
- One or more equations did not get rendered due to their size.
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
- 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
match #
an "alternative" of patterns plus right-hand side
Instances For
In a single match step, we match the first discriminant against the "head" of the first pattern of the first
alternative. This datatype describes what kind of check this involves, which helps other patterns decide if
they are covered by the same check and don't have to be checked again (see also MatchResult).
- unconditional : HeadCheckmatch step that always succeeds: _, x, `($x), ... 
- shape
(k : List SyntaxNodeKind)
(arity : Option Nat)
 : HeadCheckmatch step based on kind and, optionally, arity of discriminant If arityis given, that number of new discriminants is introduced.coveredpatterns should then introduce the same number of new patterns. We actually check the arity at run time only in the case ofnullnodes since it should otherwise by implied by the node kind. without arity: `($x:k) with arity: any quotation without an antiquotation head pattern
- slice
(numPrefix numSuffix : Nat)
 : HeadCheckMatch step that succeeds on nullnodes of arity at leastnumPrefix + numSuffix, introducing discriminants for the firstnumPrefixchildren, onenullnode for those in between, and for thenumSuffixlast children. example:([$x, $xs,*, $y]) isslice 2 2`
- other
(pat : Syntax)
 : HeadCheckother, complicated match step that will probably only cover identical patterns example: antiquotation splices `($[...]*) 
Instances For
Describe whether a pattern is covered by a head check (induced by the pattern itself or a different pattern).
- covered
(f : Alt → TermElabM Alt)
(exhaustive : Bool)
 : MatchResultPattern agrees with head check, remove and transform remaining alternative. If exhaustiveisfalse, also include unchanged alternative in the "no" branch.
- uncovered : MatchResultPattern disagrees with head check, include in "no" branch only 
- undecided : MatchResultPattern is not quite sure yet; include unchanged in both branches 
Instances For
Equations
- One or more equations did not get rendered due to their size.
All necessary information on a pattern head.
- check : HeadCheckcheck induced by the pattern 
- onMatch (taken : HeadCheck) : MatchResultcompute compatibility of pattern with given head check 
- actually run the specified head check, with the discriminant bound to - __discr
Instances For
Equations
Instances For
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.