erroreProlog?

Alessio Bragadini (dia362@bunny)
Mon, 12 May 1997 16:31:54 +0200

/* concatena due liste */
conc([],L,L).
conc([X|L1],L2,[X|L3]) :- conc(L1,L2,L3).

/* concatena due liste - usa il cut*/
conc1([],L,L):- !.
conc1([X|L1],L2,[X|L3]) :- conc1(L1,L2,L3).

/* possibili goal:

?- conc([a,b,c],[e,f],L).
?- conc1([a,b,c],[e,f],L).

?- conc([a,b,c],X,L).
?- conc1([a,b,c],X,L).

?- conc(X,[a,b,c],L). /* attenzione questo va in loop */
?- conc1(X,[a,b,c],L).

?- conc(X,Y,[a,b,c]).
?- conc1(X,Y,[a,b,c]).

*/

Anche qui,come precedentemente per membro1, mi sembra che il Prolog risponda in modo sbagliato alle query con conc, diversamente dalle soluzioni, mentre con conc1 funziona.