chore: update stage0

This commit is contained in:
Leonardo de Moura 2022-01-14 17:19:34 -08:00
parent 0a726a755f
commit 2fe59456fd
3 changed files with 959 additions and 224 deletions

View file

@ -313,6 +313,21 @@ def elabBinCalc : TermElab := fun stx expectedType? => do
pure ()
ensureHasType expectedType? result
/-
@[builtinTermElab arbitraryOrOfNonempty]
def elabArbitraryOrNonempty : TermElab := fun stx expectedType? => do
tryPostponeIfNoneOrMVar expectedType?
match expectedType? with
| none => throwError "invalid 'arbitrary_or_ofNonempty%', expected type is not known"
| some expectedType =>
try
mkArbitrary expectedType
catch ex => try
mkOfNonempty expectedType
catch _ =>
throw ex
-/
builtin_initialize
registerTraceClass `Elab.binop

View file

@ -242,6 +242,8 @@ def matchAltsWhereDecls := leading_parser matchAlts >> optional whereDecls
@[builtinTermParser] def waitIfTypeContainsMVar := leading_parser "wait_if_type_contains_mvar% " >> "?" >> ident >> "; " >> termParser
@[builtinTermParser] def waitIfContainsMVar := leading_parser "wait_if_contains_mvar% " >> "?" >> ident >> "; " >> termParser
@[builtinTermParser] def arbitraryOrOfNonempty := leading_parser "arbitrary_or_ofNonempty%"
def namedArgument := leading_parser atomic ("(" >> ident >> " := ") >> termParser >> ")"
def ellipsis := leading_parser ".."
def argument :=

File diff suppressed because it is too large Load diff