SWI-Prolog - SWI-Prolog
Autor (es) original (is) | Jan Wielemaker |
---|---|
Desenvolvedor (s) | Jan Wielemaker, Anjo Anjewierden, etc. |
lançamento inicial | 1987 |
Versão estável | 8.2.4 / 27 de janeiro de 2021
|
Versão de visualização | 8.3.28 / 4 de agosto de 2021
|
Escrito em | C , Prolog |
Sistema operacional | Plataforma cruzada |
Disponível em | inglês |
Modelo | Programação lógica |
Licença | BSD simplificado , LGPL anterior à versão 7.3.33 |
Local na rede Internet | swi-prolog |
SWI-Prolog é uma implementação gratuita da linguagem de programação Prolog , comumente usada para ensino e aplicações web semânticas . Ele tem um rico conjunto de recursos, bibliotecas para programação de lógica de restrição , multithreading , teste de unidade , GUI , interface para Java , ODBC e outros, programação literária , um servidor web , SGML , RDF , RDFS , ferramentas de desenvolvedor (incluindo um IDE com um Depurador de GUI e gerador de perfil de GUI ) e ampla documentação.
SWI-Prolog funciona em plataformas Unix , Windows , Macintosh e Linux .
SWI-Prolog está em desenvolvimento contínuo desde 1987. Seu autor principal é Jan Wielemaker.
O nome SWI é derivado de Sociaal-Wetenschappelijke Informatica ("Social Science Informatics"), o antigo nome do grupo da Universidade de Amsterdã , onde Wielemaker trabalha. O nome deste grupo foi alterado para HCS (Human-Computer Studies).
Framework da web
O SWI-Prolog é instalado com uma estrutura da web baseada em gramáticas de cláusulas definidas .
Computação distribuída
As consultas SWI-Prolog podem ser distribuídas em vários servidores e páginas da web por meio do sistema Pengines.
XPCE
XPCE é um kit de ferramentas GUI orientado a objeto independente de plataforma para SWI-Prolog, Lisp e outras linguagens interativas e dinamicamente tipadas . Embora o XPCE tenha sido projetado para ser independente de linguagem, ele ganhou popularidade principalmente com o Prolog. O desenvolvimento do kit de ferramentas gráficas XPCE começou em 1987, junto com o SWI-Prolog.
Ele suporta botões , menus , controles deslizantes , guias e outros widgets GUI básicos . XPCE está disponível para todas as plataformas suportadas por SWI-Prolog.
PceEmacs
PceEmacs é um editor embutido SWI-Prolog. PceEmacs é um clone do Emacs implementado no Prolog (e XPCE). Ele suporta indentação adequada , realce de sintaxe , verificação completa de sintaxe chamando o analisador SWI-Prolog , alertando para variáveis singleton e encontrando definições de predicado com base nas informações de origem do banco de dados Prolog.
Interface entre Java e Prolog (JPL)
JPL é uma interface bidirecional entre Java e Prolog. Requer SWI-Prolog e Java SDK . Ele é instalado como parte do SWI-Prolog.
Bibliotecas de programação lógica de restrição (CLP)
A funcionalidade de programação de lógica de restrição chegou um pouco tarde na vida do SWI-Prolog, porque faltava o suporte básico. Isso mudou no início de 2004, quando variáveis atribuídas foram adicionadas ao idioma. A biblioteca Leuven CHR foi então a primeira biblioteca CLP a ser portada para o SWI-Prolog. Mencionamos a biblioteca INCLP (R) do SWI-Prolog (De Koninck et al. 2006), que fornece restrições não lineares sobre os reais e foi implementada no topo do CHR. Mais tarde, veio uma versão da biblioteca CLP (QR) de Christian Holzbaur e um solucionador CLP (FD) de domínio finito. Finalmente, um solucionador CLP (B) booleano foi adicionado.