¿Programación Relacional / Lógica en Python?
Soy un desarrollador de Python desde hace mucho tiempo y recientemente se me ha introducido a Prolog. Me encanta el concepto de usar reglas de relación para ciertos tipos de tareas, y me gustaría agregar esto a mi repertorio.
¿Existen buenas bibliotecas para la programación lógica en Python? He hecho algunas búsquedas en Google, pero solo encontré lo siguiente:
Jtauber's blog series on relatial_python
Me encantaría comparar con algunos otros...¡Gracias!
- aj
7 answers
Quizás deberías buscar en Google "Programación lógica en Python". Pyke parece prometedor:
Pyke introduce una forma de Programación Lógica (inspirada en Prolog) para la comunidad de Python proporcionando un motor de inferencia basado en el conocimiento (sistema experto) escrito en 100% Python.
A diferencia de Prolog, Pyke se integra con Python, lo que le permite invocar a Pyke de Python y entremezclar declaraciones y expresiones de Python dentro su sistema experto gobierna.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-05 11:14:12
Puede usar pyDatalog, una biblioteca de programación lógica que desarrollé para Python implementando Datalog. También funciona con SQLAlchemy para consultar bases de datos relacionales usando cláusulas lógicas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-06 20:48:02
Otra opción es Yield Prolog
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-29 19:10:38
LogPy es una implementación de miniKanren, un lenguaje de programación relacional, en Python. Sigue en th tradición de core.logic
, la solución de programación lógica preeminente en Clojure. LogPy fue diseñado para la interoperabilidad con bases de código preexistentes.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-09 14:38:10
También puedes mirar a Dee, que agrega relaciones a Python: http://www.quicksort.co.uk
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-10-15 15:53:11
Una implementación reciente de Prolog en Python (o más bien RPython) en Pyrolog . Todavía es bastante experimental.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-29 14:52:19
También debe comprobar PyLog:
Tiene una sintaxis e implementación muy limpia y sencilla.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-16 10:51:07