Pregunta

Hay muchas implementaciones de Prolog-in-Scheme. P.ej. Kanren, Schelog.

Aparentemente en " Paradigms of AI Programming " Norvig implementa el compilador Prolog-to-Lisp en Lisp para utilizar las gramáticas de cláusula definida.

¿Pero hay una forma más simple de limpiar? ¿Quizás algún uso inteligente de amb para evitar implementar un '' Prolog '' completo? ¿Cuál es la forma más fácil de tener un análisis basado en DCG en Scheme?

¿Fue útil?

Solución

Los DCG utilizan tanto la unificación como el seguimiento, por lo que no se debe evitar implementar el núcleo de Prolog. Es decir, puede representar cualquier programa Prolog puro como un DCG que analiza la lista vacía.

Puede hacerlo si solo le interesa algún caso especial de DCG, como los que no tienen variables (bueno solo para reconocer, no para analizar).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top