SWI-Prolog - SWI-Prolog
Autor (es) original (es) | Jan Wielemaker |
---|---|
Desarrollador (es) | Jan Wielemaker, Anjo Anjewierden, etc. |
Versión inicial | 1987 |
Lanzamiento estable | 8.2.4 / 27 de enero de 2021
|
Versión de vista previa | 8.3.28 / 4 de agosto de 2021
|
Escrito en | C , prólogo |
Sistema operativo | Multiplataforma |
Disponible en | inglés |
Escribe | Programación lógica |
Licencia | BSD simplificado , LGPL antes de la versión 7.3.33 |
Sitio web | swi-prolog |
SWI-Prolog es una implementación gratuita del lenguaje de programación Prolog , comúnmente utilizado para la enseñanza y aplicaciones web semánticas . Tiene un amplio conjunto de características, bibliotecas para programación lógica de restricciones , multiproceso , pruebas unitarias , GUI , interfaz con Java , ODBC y otros, programación alfabetizada , un servidor web , SGML , RDF , RDFS , herramientas de desarrollo (incluido un IDE con un Depurador de GUI y generador de perfiles de GUI ) y una amplia documentación.
SWI-Prolog se ejecuta en plataformas Unix , Windows , Macintosh y Linux .
SWI-Prolog ha estado en continuo desarrollo desde 1987. Su autor principal es Jan Wielemaker.
El nombre SWI se deriva de Sociaal-Wetenschappelijke Informatica ("Informática de las ciencias sociales"), el nombre anterior del grupo en la Universidad de Amsterdam , donde trabaja Wielemaker. El nombre de este grupo ha cambiado a HCS (Human-Computer Studies).
Marco web
SWI-Prolog se instala con un marco web basado en gramáticas de cláusulas definidas .
Computación distribuída
Las consultas de SWI-Prolog pueden distribuirse en varios servidores y páginas web a través del sistema Pengines.
XPCE
XPCE es un conjunto de herramientas de GUI orientado a objetos independiente de la plataforma para SWI-Prolog, Lisp y otros lenguajes interactivos y dinámicamente tipados . Aunque XPCE fue diseñado para ser independiente del idioma, ha ganado popularidad principalmente con Prolog. El desarrollo del conjunto de herramientas gráficas XPCE comenzó en 1987, junto con SWI-Prolog.
Admite botones , menús , controles deslizantes , pestañas y otros widgets básicos de GUI . XPCE está disponible para todas las plataformas compatibles con SWI-Prolog.
PceEmacs
PceEmacs es un editor incorporado de SWI-Prolog. PceEmacs es un clon de Emacs implementado en Prolog (y XPCE). Admite sangría adecuada , resaltado de sintaxis , verificación de sintaxis completa llamando al analizador SWI-Prolog , advirtiendo sobre variables singleton y encontrando definiciones de predicado basadas en la información de origen de la base de datos de Prolog.
Interfaz entre Java y Prolog (JPL)
JPL es una interfaz bidireccional entre Java y Prolog. Requiere tanto SWI-Prolog como Java SDK . Se instala como parte de SWI-Prolog.
Bibliotecas de programación lógica de restricciones (CLP)
La funcionalidad de programación de lógica de restricción llegó bastante tarde en la vida útil de SWI-Prolog, porque carecía del soporte básico. Esto cambió a principios de 2004, cuando se agregaron variables atribuidas al lenguaje. La biblioteca CHR de Leuven fue entonces la primera biblioteca CLP que se transfirió a SWI-Prolog. Mencionamos la biblioteca INCLP (R) de SWI-Prolog (De Koninck et al. 2006), que proporciona restricciones no lineales sobre los reales y se implementó sobre CHR. Más tarde vino un puerto de la biblioteca CLP (QR) de Christian Holzbaur y un solucionador CLP (FD) de dominio finito. Finalmente, se agregó un solucionador booleano CLP (B).