Peter

Results 73 comments of Peter

Maybe related (my "`do_queue/2` comment" there): https://github.com/mthom/scryer-prolog/issues/2109

Here is "yet another" (and I would say "slightly violent") path to a crash (segmentation fault), without the clpz library, inspired by the UWN's example above. A file to consult:...

Maybe it is because I have different OS (Ubuntu), or Rust version (1.73.0) used to compile Scryer, but, is it possible that on my computer the "Ctrl-c crash" has a...

Interestingly, only the first variable is going to be instantiated with `l/1` query: ``` ?- L = [A,A,A], A=a, asserta(l(L)). L = "aaa", A = a. ?- l(L). L =...

But, as expected: ``` ?- L = [A,B,C], L = [a,a,a], asserta(l(L)). L = "aaa", A = a, B = a, C = a. ?- l(L). L = "aaa". %...

Even better (as expected): ``` ?- [user]. test :- L = [A,A,A], A=a, assertz(l(L)). ?- test. true. ?- l(L). L = "aaa". % as expected. ```

Still better (as expected): ``` ?- L = [A,A,A], A=a,copy_term(L,L2), assertz(l(L2)). L = "aaa", A = a, L2 = "aaa". ?- l(L). L = "aaa". % as expected. ``` But...

PS: In all my examples above I used `rebis-dev`: https://github.com/mthom/scryer-prolog/tree/52363140707b29a20b0f7461288cad480b8d50a7

As I understand/see it, yes; it expresses, in a different form, that (wrongly in that case) only the first element of the list/string was instantiated in the Scryer's "database". As...

Yes! ``` ?- T = f([A,A,A]), A = a, assertz(l(T)). T = f("aaa"), A = a. ?- l(T). T = f("aaa"). % as expected. ```