-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use case for "variable < variable" #158
Comments
Currently disabled
This is related to #132 and #43, and any solution for it should address both of those, as well. I view this as a feature request for either:
Of the two, I would prefer the second approach. I don't think I have time to implement it right now, and I don't have a good feeling for how it would complicate type checking (probably not that much), but it should remain on the table as an option. If this continues to be an issue, we should implement something like this. |
Hi @mernst, Would you mind elaborating "because anything derivable from this fact is usually derivable from other facts" a bit more? I am still confused with why Index Checker intentionally does not express "variable < variable". Thanks! Jason |
Up until now, we had never needed a "variable < variable" annotation -- we could always find a way to make correct code typecheck using other, existing annotations. To keep the number of annotations small, we didn't add this feature when it was not necessary. The point of this issue is to point out that we may need to expand the set of annotations after all. |
I see. I will try the second approach ( |
Hi @kelloggm, After a closer look at this issue I found that the proposed solutions (either
Jason |
There are five examples of this problem in plume-lib's |
The Index Checker intentionally does not express "variable < variable", because anything derivable from this fact is usually derivable from other facts. Here is an example where I don't see how to express the safety of the code in terms of other Index Checker annotations. The output is:
and here is the code:
The text was updated successfully, but these errors were encountered: