mthom / scryer-prolog

A modern Prolog implementation written mostly in Rust.
BSD 3-Clause "New" or "Revised" License
2.07k stars 123 forks source link

unexpected variables in the output #2668

Open josd opened 12 hours ago

josd commented 12 hours ago

We get unexpected variables in the output of the following test

cd /tmp
git clone https://github.com/eyereasoner/eye3
cd eye3
git checkout tags/v1.0.6
scryer-prolog -g run eye3.pl etc/bmt.pl > etc/output/bmt.pl
git diff

So we see

'urn:example:cycle'('urn:example:i0',['urn:example:i12','urn:example:i66','urn:example:i9','urn:example:i12','urn:example:i66','urn:example:i9','urn:example:i12','urn:example:i9','urn:example:i12','urn:example:i9',_1088720]) => true.

instead of

'urn:example:cycle'('urn:example:i0',['urn:example:i12','urn:example:i66','urn:example:i9','urn:example:i12','urn:example:i66','urn:example:i9','urn:example:i12','urn:example:i9','urn:example:i12','urn:example:i9','urn:example:i12']) => true.

that is compared with the output of

tpl -g run eye3.pl etc/bmt.pl > etc/output/bmt.pl

I was not able to make a simplified case to show the issue.

josd commented 12 hours ago

This is tested on

si
OS: Ubuntu 22.04.5 LTS, CPU: AMD Ryzen 5 7520U with Radeon Graphics, RAM: 3705676 kB

and with

scryer-prolog --version
v0.9.4-210-gff034326