Per un allodola ho iniziato a imparare Prolog tramite http://www.learnprolognow.org/. La mia scusa è che ho solo solo avviato.Avviso di predicato discontinuo da GNU Prolog
Non sono sicuro di come il seguente esercizio (semplice?) Dovrebbe essere scritto per funzionare come previsto. http://cs.union.edu/~striegnk/learn-prolog-now/html/node13.html#sec.l1.exercises
vedo che Gnu Prolog 1.4 (http://www.gprolog.org/) non è felice che il 2 ° predicato per la procedura guidata \ 1 non è vicino al primo. Posso riordinare il programma per farlo funzionare, ma poi finisco con il codice che al mio principiante, l'occhio di Prolog è meno comprensibile di quello presentato di seguito.
Mi manca qualcosa di ovvio?
wiz.pl
wizard(ron).
hasWand(harry).
quidditchPlayer(harry).
wizard(X) :- hasBroom(X),hasWand(X).
hasBroom(X) :- quidditchPlayer(X).
consultare wiz.pl
| ?- [wiz].
compiling D:/wiz.pl for byte code...
D:/wiz.pl:5: warning: discontiguous predicate wizard/1 - clause ignored
D:/wiz.pl compiled, 5 lines read - 632 bytes written, 24 ms
ok grazie, avevo ingenuamente per scontato che i fatti sarebbero stati tenuti insieme e poi le regole derivate . Porterò avanti la nota sull'ordine in mente. Spedirò anche gli autori per un commento. –
@AdamStraughan Hanno mai risposto? –
@DanielLyons, non ricordo, una ricerca delle mie e-mail non ha trovato nulla. Scusa non ho potuto aiutare di più. –