-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Due to a typo I put the wrong metavariable inside [brackets] in a case rule construct. This resulted in a "Unification incomplete for case" error message.
Here's the offending code:
case rule
d6: e3 => e5
d7: e4[e3'] => e1'
----------------------------- eval-let
_: let x = e3 in e4[x] => e1'
is
proof by unproved
end case
based on the obvious big-step rule for let. Obviously the e3' should be e5 here...but the typo was a bit hard to find.
It's probably genuinely hard to produce a good error message in this case, but I wonder if a bit of engineering could at least pinpoint e3' as the cause of the problem? In this case e3' was already bound, and e5 is fresh, so it should be possible in principle to detect that e3' is the problem.
Not super high priority but this is the kind of thing we should fix to make SASyLF more usable.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels