You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(define-typed-syntax app
[(_ f a ...) ≫
[⊢ f ≫ f- ⇒ (~→ τ_a ... τ_out)]
....]
[(_ f a ...) ≫
[⊢ f ≫ f- ⇒ (~case→ τ_f ...)]
....])
If the f- result from the first variant can be used as the f- result for the second, then error reporting improves dramatically, because syntax-parse can recognize that the ~→ and the ~case→ pattern are checking the same syntax object, and it can correctly report the error in terms of the one that made the most progress.
Without this "saving" (it's not caching because it's meant to change behavior), you get bad syntax a lot more often, but with this saving, you get the same error messages you would if you put ~!s within the patterns.
The text was updated successfully, but these errors were encountered:
For example in a function application macro:
If the
f-
result from the first variant can be used as thef-
result for the second, then error reporting improves dramatically, becausesyntax-parse
can recognize that the~→
and the~case→
pattern are checking the same syntax object, and it can correctly report the error in terms of the one that made the most progress.Without this "saving" (it's not caching because it's meant to change behavior), you get
bad syntax
a lot more often, but with this saving, you get the same error messages you would if you put~!
s within the patterns.The text was updated successfully, but these errors were encountered: