Para una alondra, he empezado a aprender Prolog a través de http://www.learnprolognow.org/. Mi excusa es que solo tengo solo comenzado.advertencia de predicado no contiguo de GNU Prolog
No estoy seguro de cómo se debe escribir el siguiente ejercicio (¿simple?) Para que funcione como se espera. http://cs.union.edu/~striegnk/learn-prolog-now/html/node13.html#sec.l1.exercises
puedo ver que GNU Prolog 1.4 (http://www.gprolog.org/) no es feliz que el segundo predicado para el asistente \ 1 es no al lado de la primera. Puedo volver a ordenar el programa para que funcione, pero luego termino con un código que para mi novato Prolog eye es menos comprensible que el que se presenta a continuación.
¿Me falta algo obvio?
wiz.pl
wizard(ron).
hasWand(harry).
quidditchPlayer(harry).
wizard(X) :- hasBroom(X),hasWand(X).
hasBroom(X) :- quidditchPlayer(X).
consultar 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 gracias, yo había asumido ingenuamente que los hechos serían mantenidos juntos y luego las reglas derivadas . Llevaré tu nota sobre el orden en mente en el futuro. Enviaré a los autores para que hagan un comentario también. –
@ AdamStraughan ¿Alguna vez respondieron? –
@DanielLyons, no recuerdo, una búsqueda de mis correos electrónicos no encontró nada. Lo siento, no pude ayudar más. –