Visual Prolog - Visual Prolog

Visual Prolog
Visual Prolog IDE Screenshot.png
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 ; 0 dias atrás ( 2021-07-19 )
Disciplina de digitação estático , forte , inferido
SO Microsoft Windows
Licença Proprietário
Local na rede Internet www .visual-prolog .com

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 hanoileva 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

Veja também

Referências

links externos