2011-03-11 71 views
28

Necesito comenzar a aprender Prolog para mi trabajo.IDE bueno para comenzar con prolog

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

El programa se usará comercialmente.

Por lo que algunas preguntas:

1) Consume Prolog un compilador para compilar los programas. Como gcc hace por 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 usar el paquete Prolog.el? ¿Algún comentario sobre eso?

Muchas gracias por cualquier respuesta,

+0

Estoy muy interesado. ¿Qué tipo de programa es su edificio? ¿Va a construir todo desde cero o necesita una interfaz con el código existente? –

+0

Hola, buena pregunta. Construiré todo desde cero y añadiré algo de diversión extra. Tendré que hacer interfaz con alguna biblioteca compartida de C. Así que tendré que registrar algunas devoluciones de llamada para que mi aplicación prolog reciba un evento de la biblioteca c. Entonces tendré que investigar cómo hacer eso. Gracias. – ant2009

+2

SWI-Prolog tiene varias interfaces para el código C; entre ellos se encuentra una capa de compatibilidad SICStus. –

Respuesta

9
  1. El Prolog IDE más elaborado con el que estoy familiarizado es el IDE basado en Eclipse para Amzi. Prólogo. Este es un producto comercial, pero el IDE se puede descargar y usar de forma gratuita en la edición para estudiantes. Podría ser ideal para un programador Prolog principiante. Descargo de responsabilidad: puedo ser parcial porque ofrezco muchos consejos gratuitos en el foro de soporte de Amzi! Creo que hay un plugin Eclipse de código abierto que también soporta algunas de las implementaciones de código abierto de Prolog. Actualización (mayo de 2016) Amzi! Prolog v. 10 tiene ahora become open source usando una licencia tipo MIT.

  2. Aunque SWI-Prolog es de código abierto (GPL), es posible desarrollar aplicaciones comerciales con él, como con muchas 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 "prólogo real". SICStus Prolog es una implementación comercial de Prolog compatible con ISO. Hay algunos otros que son similares a Prolog pero con extensiones sustanciales, como ECLiPSe (que no debe confundirse con el IDE) y Mercury. Varias implementaciones comerciales de Prolog se han vuelto obsoletas a lo largo de los años, como cuando IFPRolog fue reemplazado por MINERVA. Aquí está a list of implementations desde 2006.

  3. Conozco a muchos programadores que hablan muy bien del modo Prolog para EMACS de GNU. 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 de programadores proporcionarán resaltado de sintaxis para Prolog, con el archivo de definiciones correcto instalado.

+0

@AndersonGreen: Parece que ha publicado un enlace desde una página de resultados de búsqueda de Google, que tal vez no sea lo que pretendía hacer. – hardmath

+0

Hay otro Prolog IDE llamado [Prolog Studio] (http://interprolog.com/interprolog-studio/). –

3

general, se puede compilar su proyecto de prólogo. Sin embargo, dependiendo del entorno de prólogo que esté utilizando, podría ser un código intermedio y no directamente ejecutable. SWI Prolog y Sicstus prolog ambos permiten generar un ejecutable de este formulario (incorporando el intérprete junto con el código intermedio compilado). Otros prólogos como Arity Prolog/32 se compilan directamente en un ejecutable x86. Hay una página en Wikipedia que compares varios sistemas prolog.

Hay un estándar ISO para prolog. Sin embargo, casi todos los sistemas de prólogos serán en su mayoría compatibles entre sí, lo que requerirá cambios menores para transferir el código de un sistema de prólogo a otro.

3

Además de lo que ya dijo gusbro: SWI-Prolog es, creo, el mejor Prólogo para aprender. Puede que no sea la implementación más rápida, pero tiene bastantes campanas & silbidos como la edición de línea de comandos y un editor incorporado tipo Emacs, es un software gratuito y es fácil de instalar tanto en Windows como en Linux (y Mac OS X también, creo) Está implementado como un compilador de códigos de bytes 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 muy similares entre las implementaciones; Las 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 de interfaces Prolog-Java y Prolog-C#. SWI tiene extensiones que le permiten funcionar como un servidor web.

3

SICStus Prolog tiene un IDE based on Eclipse. El SICStus IDE tiene muchas características avanzadas que no se encuentran en productos competidores, gratuitos 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 el home page.

Soy parcial, soy uno de los desarrolladores de SICStus Prolog y el desarrollador de SICStus Prolog IDE.

2

Estoy usando el swi-prolog built in ide para desarrollo comercial.

Dependiendo de su sistema operativo, puede que tenga que empezar con swipl-win.exe o XPCE para obtener el entorno gráfico

0

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

1

Estoy usando un plug-in IDE de eclipse llamado PDT. La instalación es bastante fácil y creo que es un ambiente agradable. Después de la instalación, puede seguir las instrucciones en "getting started page" para finalizar su instalación y ponerlo en funcionamiento.