SWI-Prolog - SWI-Prolog

SWI-Prolog
Autor (es) original (is) Jan Wielemaker
Desenvolvedor (s) Jan Wielemaker, Anjo Anjewierden, etc.
lançamento inicial 1987 ; 34 anos atrás ( 1987 )
Versão estável
8.2.4 / 27 de janeiro de 2021 ; 7 meses atrás ( 2021-01-27 )
Versão de visualização
8.3.28 / 4 de agosto de 2021 ; 24 dias atrás ( 2021-08-04 )
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 .org

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.

Veja também

Referências

links externos