-
-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Collect failing sub-derviations from call-modeless-judgment-form and …
…friends
- Loading branch information
Showing
1 changed file
with
25 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0dcbe78
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to work from examples here. So maybe starting by working on opening the right private functions to a test suite that can test modeless judgment forms (unless you think we can test by parsing error messages?).
Also, as I recall, there are tricky bits to this code to deal with premises that have ellipses in them.
One simplification that I would support is that if a judgment form doesn't name the premises then we can just not include nice information in the error messages. With that assumption, you can commit to specific rules right away and, as soon as something fails, we know where the failure is (so no lists are needed anymore).
If we did want to support judgment forms that have
#f
s in the names then we could say that we're committed to a judgment as soon as a conclusion matches, so we either say "at this point in the tree, no conclusions matched" and that's the error message, or we say "at this point in the tree, this conclusion matched but the premises for it didn't match" (or maybe we have to offer multiple in this last case when multiple rules match at the conclusion but none match at the premise).0dcbe78
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the feedback!
Don't consider this real code yet; this is me playing to figure out what's going on, and I figured I'd just play in this branch for now. I'll let you know when I think I have something worth looking at.