Buen IDE para empezar con prolog [cerrado]


Necesito empezar a aprender Prolog para mi trabajo.

No he usado Prolog antes y mi empresa necesita construir un programa que use Prolog.

Así que el programa se utilizará comercialmente.

Así que algunas preguntas:

1) Prolog utiliza un compilador para compilar los programas. ¿Como gcc hace para c?

2) ¿Existe un estándar comercial de Prolog? Solo he oído hablar de SWI Prolog.

3) He estado usando GNU Emacs con Linux durante muchos años. Estoy pensando en usando el Prolog.el paquete? ¿Algún comentario al respecto?

Muchas gracias por cualquier respuesta,

 31
Author: ant2009, 2011-03-11

7 answers

  1. ¡El IDE Prolog más elaborado con el que estoy familiarizado es el IDE basado en Eclipse para Amzi! Prolog. Este es un producto comercial, pero el IDE se puede descargar y utilizar de forma gratuita en la Edición Student. Podría ser ideal para un programador Prolog principiante. Descargo de responsabilidad: ¡Puedo ser parcial porque ofrezco muchos consejos gratuitos en Amzi!foro de soporte. Creo que hay un complemento de Eclipse de código abierto que también admite algunas de las implementaciones de Prolog de código abierto. Actualizar (Mayo, 2016) Amzi! Prolog v. 10 ahora se ha convertido en open source usando una licencia similar al MIT.

  2. Aunque SWI-Prolog es de código abierto (GPL), es posible desarrollar aplicaciones comerciales con él, al igual que con varias otras implementaciones de código abierto de Prolog como GNU Prolog y YAP. ¡Además de Amzi! Prolog hay varios otros productos comerciales. Visual Prolog es lo suficientemente diferente del estándar ISO para Prolog que la mayoría de los programadores de Prolog no lo consideran "prolog real". SICStus Prolog es una implementación de Prolog comercial compatible con ISO. Hay algunos otros que son como Prolog pero con extensiones sustanciales, como ECLiPSe (no debe confundirse con el IDE) y Mercury. Una serie de implementaciones comerciales de Prolog se han vuelto obsoletas a lo largo de los años, como si Prolog fuera reemplazado por MINERVA. Aquí está una lista de implementaciones de 2006.

  3. Conozco a muchos programadores que hablan muy bien del modo Prolog para GNU EMACS. Sin embargo, creo que un principiante se beneficiaría de un depurador/editor integrado como Amzi! Prolog ofrece. SWI-Prolog tiene un IDE gráfico en construcción basado en XPCE, que es la biblioteca de interfaz gráfica que SWI-Prolog ha elegido para el desarrollo multiplataforma. Casi todos los editores programadores proporcionarán resaltado de sintaxis para Prolog, con el archivo de definiciones correcto instalado.

 10
Author: hardmath,
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
2016-05-17 03:11:01

SICStus Prolog tiene un IDE basado en Eclipse. El IDE SICStus tiene muchas características avanzadas que no se encuentran en los productos de la competencia, libres o comerciales. Entre otras cosas, detecta errores de sintaxis y otros errores comunes a medida que escribe, lo que puede ser especialmente valioso para un principiante.

SICStus también tiene un modo Emacs pero no ofrece toda la funcionalidad del IDE basado en Eclipse.

Puede descargar una evaluación de SICStus Prolog desde inicio page .

Estoy sesgado, soy uno de los desarrolladores de SICStus Prolog y el desarrollador del IDE SICStus Prolog.

 4
Author: Per Mildner,
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
2011-03-13 12:34:12

Generalmente puede compilar su proyecto prolog. Sin embargo, dependiendo del entorno prolog que esté utilizando, puede ser un código intermedio y no directamente ejecutable. SWI Prolog y Sicstus prolog permiten generar un ejecutable de esta forma (incrustando el intérprete junto con el código intermedio compilado). Otros prólogo como Arity Prolog/32 compila directamente a un x86 ejecutable. Hay una página en Wikipedia que compara varios prolog sistema.

Existe un estándar ISO para prolog. Sin embargo, casi todos los sistemas prolog serán en su mayoría compatibles entre sí, requiriendo cambios menores para portar el código de un sistema prolog a otro.

 3
Author: gusbro,
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
2011-03-12 00:39:06

Además de lo que gusbro ya dijo: SWI-Prolog es, creo, el mejor Prolog para aprender. Puede que no sea la implementación más rápida, pero tiene bastantes campanas y silbatos, como la edición de línea de comandos y un editor incorporado similar a Emacs, es software libre y es fácil de instalar tanto en Windows como en Linux (y también en Mac OS X, creo). Se implementa como un compilador de bytecode para una máquina virtual, como la mayoría de los Prologs; incluso los que producen código nativo a menudo usan una máquina virtual en algún momento.

Los conceptos básicos de Prolog son casi los mismos entre las implementaciones; extensiones no estándar como bibliotecas adicionales, interfaces de sistema operativo, programación de restricciones, etc. tienden a ser un poco diferentes.

Existen varias interfaces Prolog-Java y Prolog-C#. SWI tiene extensiones que le permiten funcionar como un servidor web.

 3
Author: Fred Foo,
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
2011-03-12 13:40:34

Estoy usando el ide swi-prolog integrado para el desarrollo comercial.

Dependiendo de su sistema operativo, es posible que deba comenzar con swipl-win.exe o xpce para obtener el entorno gráfico

 2
Author: Anniepoo,
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-02-03 04:00:50

Estoy usando un complemento IDE de eclipse llamado PDT. La instalación es bastante fácil y creo que es un entorno agradable. Después de la instalación, puede seguir las instrucciones en "página de inicio" para finalizar la instalación y ponerlo en marcha.

 2
Author: cupnoodles,
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-12-04 06:00:52

Si está acostumbrado a trabajar en un entorno emacs debería intentar usar la distribución Ciao. Tiene muchas características interesantes y poderosas, bibliotecas, y también es licencia GNU LGPL. Altamente documentado y apoyado. Ir a http://ciaohome.org/

 0
Author: mll,
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-04-25 14:22:53