-
Notifications
You must be signed in to change notification settings - Fork 139
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
CLP(ℤ): Attribute is sometimes unexpectedly not present #248
Comments
I inserted some print statements around the code where the queue attribute is handled, and I saw that it was deleted from the third variable, which is why |
Yes, it is true that So we have, in total, the following sequence:
On a general note, while I try to construct a simpler test case, please focus on #95, since partial strings are the more fundamental feature that will make Scryer Prolog truly unique as soon as it is available, and which will also be automatically tested too when we then discuss other issues. Meanwhile, I am continuing to post CLP(ℤ) related issues in case you need a short creative pause, and also for later reference. |
Yes, I think I'll take a break from working on CLP(ℤ), and focus on partial strings. |
I did a little more digging last night, and found that the
|
Please note that between (3) and (4) of the steps outlined above, the attribute somehow vanishes (i.e., (4) fails unexpectedly), even though there is nothing between these steps that would remove the attribute. The value of the concrete arguments of So, we have that (3) succeeds, and (4) fails even though it is exactly the same goal, which we expect to succeed as long as a |
…f verify_attributes/3 has been called (#248)
This works correctly now, thank you a lot! |
With
clpz7.pl
from https://www.metalevel.at/clpz/scryer/clpz7.pl, I get:Expected result: Success.
The reason for this seems to be that in
insert_queue//2
(defined inclpz7.pl
), the goalget_atts/2
fails on the third invocation ofinsert_queue//2
in the example above:However, the attribute
queue/2
is expected to be present on the third invocation. There is nothing that would remove the attribute between the second and third invocation ofinsert_queue//2
in this example. For reference,Head0
ought to be[]
, andTail0
is expected to be a free variable on the third invocation ofinsert_queue//2
.I will try to find a simpler example that exhibits this issue.
The text was updated successfully, but these errors were encountered: