Input di SWI-Prolog Clicca QUI per vedere il messaggio nel forum |
mlk |
Probabilmente è un po' tardi, dato che l'esame è domani mattina, però volevo leggermi un po' di trace degli esercizi degli appelli scorsi per capire dove sbaglio negli esercizi Prolog, solo che quasi sempre si lamenta per qualche syntax error che io non vedo.
Esempio
code:
del(X, [X|L], L) :− !.
del(X, [Y|L], [Y|L1]) :− del(X, L, L1).
length([ ], 0).
length([T|C], N) :− length(C, N1), N is N1 + 1.
salvo il tutto con il nome del.pl
avvio swi-pl
?- [del].
ERROR: /home/mlk/Documents/school/logica_matematica/prolog/es2/del.pl:1:0: Syntax error: Operator expected
ERROR: /home/mlk/Documents/school/logica_matematica/prolog/es2/del.pl:2:0: Syntax error: Operator expected
ERROR: /home/mlk/Documents/school/logica_matematica/prolog/es2/del.pl:3:
No permission to modify static_procedure `length/2'
ERROR: /home/mlk/Documents/school/logica_matematica/prolog/es2/del.pl:4:0: Syntax error: Operator expected
% del compiled 0.00 sec, 1,704 bytes
true.
Qualcuno ha idea di quale sia il problema?
Ho provato a togliere tutti gli spazi, ad aggiungere spazi ovunque e a fare
circa qualsiasi cosa mi venisse in mente, con pochi risultati. La cosa che più
mi fa arrabbiare è che un esercizio lo compila senza problemi e non ha niente di
(particolarmente) diverso dagli altri. |
|
|
|