clojure scheme logic-programming minikanren clojure-core.logic

clojure - Explicación concisa de Core.logic



scheme logic-programming (2)

Quiero usar Core.logic de Clojure. Sin embargo, también quiero entender cómo funciona. ¿Hay alguna explicación concisa de esto en alguna parte? (¿Como implementar un evaluador metacircular?)

¡Gracias!



core.logic es una implementación de miniKanren, originalmente escrita y diseñada en un esquema por Dan Friedman, William Byrd, Oleg Kiselyov y otros. Es un intento de incrustar la programación relacional de estilo Prolog dentro de Lisp.

Si desea comprender cómo funciona, deberá leer los primeros tres capítulos de la disertación de William Byrd: https://scholarworks.iu.edu/dspace/bitstream/handle/2022/8777/Byrd_indiana_0093A_10344.pdf?sequence=1

El maquinador razonado también cubre al unificador en detalle. Sin embargo, la porción del objetivo mucho más sutil de miniKanren no recibe un tratamiento integral, por lo que deberá consultar la disertación de Byrd.

Incluso entonces, al igual que con los intérpretes meta-circulares, no se pueden obtener muchos conocimientos sin intentar implementar el sistema usted mismo en una variedad de lenguajes de programación.