Visual Prolog - Visual Prolog
Paradigma | multiparadigma : lógico , funcional , orientado a objetos , imperativo |
---|---|
Desenvolvedor | PDC A / S |
Versão estável | 10 build 1002/19 de julho de 2021
|
Disciplina de digitação | estático , forte , inferido |
SO | Microsoft Windows |
Licença | Proprietário |
Local na rede Internet | www |
Visual Prolog , anteriormente conhecido como PDC Prolog e Turbo Prolog , é uma extensão orientada a objetos fortemente tipada do Prolog . Como Turbo Prolog, ele foi comercializado pela Borland, mas agora é desenvolvido e comercializado pela empresa dinamarquesa Prolog Development Center (PDC) que o desenvolveu originalmente. Visual Prolog pode construir aplicativos de GUI do Microsoft Windows , aplicativos de console , DLLs (bibliotecas de vínculo dinâmico) e programas CGI . Ele também pode ser vinculado a componentes COM e bancos de dados por meio de ODBC .
Linguagens lógicas são tradicionalmente interpretadas , mas Visual Prolog é compilado . Isso fornece a melhoria importante de conversão de erros de tempo de execução típicos do Prolog tradicionais em avisos do compilador, o que garante uma melhor robustez dos aplicativos finalizados.
O núcleo do Visual Prolog são as cláusulas de Horn , tipos de dados algébricos , correspondência de padrões e não-determinismo controlado como no Prolog tradicional, mas ao contrário do Prolog tradicional, o Visual Prolog sempre foi forte e estaticamente tipado .
História
A versão 10 apresenta expressões de objeto, suporte para processos mestre / escravo, controle Microsoft Edge webView2 e algum suporte para Direct2D + DirectWrite + Windows Imaging Component (veja também Visual Prolog 10 Novos recursos ).
A versão 9 apresenta polimorfismo limitado, predicados de extensão, bancos de dados de fatos livres de bloqueio de threadsafe, parâmetros nomeados (consulte também Novos recursos do Visual Prolog 9 ).
A versão 8 apresenta os apresentadores, para uma apresentação de dados mais amigável ao usuário no depurador e no programa em execução (consulte também os Novos recursos do Visual Prolog 8 ).
A versão 7.5 contém o servidor http e o gerador de analisador LALR (1) (consulte também os Novos recursos do Visual Prolog 7.5 ).
A versão 7.4 pode gerar código do Windows de 64 bits (veja também Visual Prolog 7.4 - Novos recursos ).
A versão 7.3 introduziu classes e interfaces genéricas (ver Programação genérica ), monitores protegidos (ver também Visual Prolog 7.3 Novos recursos ).
A versão 7.2 introduziu predicados anônimos (um pendente lógico para funções anônimas ) e namespaces (consulte também Visual Prolog 7.2 Novos recursos ).
A versão 7.0 introduziu o polimorfismo paramétrico .
Desde a versão 6.0, a linguagem foi totalmente orientada a objetos .
Exemplo de Hanói
No exemplo das Torres de Hanói , o motor de inferência Prolog descobre como mover uma pilha de qualquer número de discos progressivamente menores, um de cada vez, do pólo esquerdo para o pólo direito da maneira descrita, por meio de um centro como trânsito, para que nunca haja um disco maior sobre um disco menor. O predicado hanoi
leva um inteiro indicando o número de discos como argumento inicial.
class hanoi
predicates
hanoi : (unsigned N).
end class hanoi
implement hanoi
domains
pole = left; center; right.
clauses
hanoi(N) :- move(N, left, center, right).
class predicates
move : (unsigned N, pole A, pole B, pole C).
clauses
move(0, _, _, _) :- !.
move(N, A, B, C) :-
move(N-1, A, C, B),
stdio::writef("move a disc from % pole to the % pole\n", A, C),
move(N-1, B, A, C).
end implement hanoi
goal
console::init(),
hanoi::hanoi(4).
Recepção
Bruce F. Webster, da BYTE, elogiou o Turbo Prolog em setembro de 1986, afirmando que foi o primeiro produto da Borland a excitá-lo tanto quanto o Turbo Pascal. Ele gostou da interface do usuário e do baixo preço, e relatou que dois professores da BYU afirmaram que era superior ao Prolog que usavam na universidade. Ao questionar a demanda do mercado pela linguagem, Webster concluiu que "o Turbo Prolog pode ser um salto significativo no design de software como o Turbo Pascal representou três anos atrás", e o recomendou para aqueles "interessados em inteligência artificial, bancos de dados, sistemas especialistas , ou novas formas de pensar sobre programação ". Outro autor na revista daquele mês escreveu que a sintaxe não padronizada e mais estruturada da linguagem torna "as listagens de fontes muito mais legíveis do que as do Prolog padrão". Enquanto afirmava que tinha "muitos recursos bons", ele afirmou que o "sabor Turbo Pascal em seu compilador e forte tipagem de dados ... cria um problema de identidade para a linguagem". Descrevendo-o como "Turbo Paslog", o autor concluiu que "não o recomenda se você está pensando seriamente em se tornar um programador Prolog". A revista em 1989 listou o Turbo Prolog 2.0 como um dos vencedores de "Distinção" do BYTE Awards, aprovando como a Borland havia "desenvolvido um sistema para programação de aplicativos do mundo real".
Livros sobre Visual Prolog
- Thomas W. de Boer, um guia para iniciantes no prólogo visual
- Eduardo Costa, Prólogo Visual para Tyros
- Giovanni Torrero, VISUAL PROLOG PER PRINCIPIANTI Italiano 113 páginas (pdf)
- Randall Scott, A Guide to Artificial Intelligence with Visual Prolog, ISBN 978-1-4327-4936-1