-
Notifications
You must be signed in to change notification settings - Fork 14
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
Unification may fail with user attributes #27
Comments
Thank you a lot for looking into this, I greatly appreciate your help! |
|
The fix for scryer seems to work: mthom/scryer-prolog#420 |
Yes please do, thank you a lot! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I've found that we have a situation where unification could fail if a custom attribute is added before a clpz constraint is posted.
Consider this code
Running this on sicstus, we see that only
pred1
fails. However swapping a goal (like pred3) or declare the var as a clpz constraint first (like pred4) works!Output:
I'm not familiar with the clpz code but could it be because you assumed that
variables_same_queue([Var,Other])
would always hold here?clpz/clpz.pl
Lines 7385 to 7388 in 281aaf0
Am I reading this correctly or should the bug be fixed in my code?
Update: I've found that it makes a difference if the clpz var is either on left-hand side of X#=Y or right-hand side. If I have a specific example, I'll add it but I think you'll know that it's about
verify_attributes
implementation which may not have been tested for ifVar
andOther
have been swapped inverify_attributes(Var, Other, Gs)
.The text was updated successfully, but these errors were encountered: