Closed flexoron closed 5 months ago
Yes, odd...
?- dif(W,V), V=[V], '$list_attributed'(Vs). V = [V], Vs = [W], dif:dif(W,[[[_A]]]).
?- dif(V,W), V=[V], '$list_attributed'(Vs). V = [V], Vs = [W], .
More specifically...
?- dif(V,W),V=[V], '$list_attributed'(Vs), get_atts(W, As). V = [V], Vs = [W], As = [dif([[[[As]]]\==W])], . ?-
Might be related, stumbled on it while looking into dump_attvars/0 failing here...
?- V=[V], copy_term([V],W), acyclic_term(W). V = [V], W = [[_A]]. % should fail ?- V=[V], copy_term(f(V),W), acyclic_term(W). V = [V], W = f([_A]). % should fail ?-
Fix copy_term/2 & friends...
?- V=[V], copy_term(f(V),W), acyclic_term(W). false. ?- V=[V], copy_term(f(V),W). V = [V], W = f([W]).
but makes no difference to the problem with dif/2 residuals.
v2.52.16
?- dif(V,W),V=[V].
V = [V], dif:dif([[[[[V]]]]],W). % finished
v2.38.8