Logtalk

Tela Software:
Logtalk
Detalhes de Software:
Versão: 3.38 Atualizado
Data de upload: 4 May 20
Revelador: Logtalk
Licença: Livre
Popularidade: 25
Tamanho: 20008 Kb

Rating: 4.0/5 (Total Votes: 4)


        Logtalk é uma linguagem de programação lógica orientada a objetos que pode usar a maioria das implementações do Prolog como um compilador de backend. Como uma linguagem multi-paradigmática, o Logtalk inclui suporte para protótipos e classes, protocolos (interfaces), programação baseada em componentes através de composição baseada em categorias, programação orientada a eventos e programação multi-threading de alto nível.
    

O que há de novo nesta versão:

* MELHORADO: Evite avisos diretos de falta de meta_predicate / 1` quando a meta-chamada real não compartilhar variáveis ​​com o cláusula cabeça.


* MELHORADO: Permitir o uso de expressões lambda em regras gramaticais sem a necessidade de um wrapper `call // 1`.


* CORRIGIDO: Erro de otimização na compilação de um meta-argumento de fechamento quando o objetivo resultante é uma chamada para um predicado interno do Prolog devido ao inlining de uma definição de predicado do usuário.


* CORRIGIDO: Erro de otimização na compilação de um meta-argumento de fechamento quando a meta resultante é uma chamada para uma construção de controle Prolog `: / 2`.

O que há de novo em versão 3.19:

* ADICIONADO: Suporte para definir predicados internos adicionais do Prolog para fiapos
verificações de metas que são sempre verdadeiras ou falsas para os arquivos do adaptador usando o
predicado de gancho `'$ lgt_candidate_tautology_or_falsehood_goal_hook' / 1`.


* ADICIONADO: Propriedade de objeto `module` para objetos que resultam da compilação
de módulos Prolog.


* ADICIONADO: erro de conveniência lançando métodos embutidos `syntax_error / 1` e
`system_error / 0`. Estes métodos lançam termos de exceção `error / 2` padrão
e são equivalentes a uma sequência de chamadas de método `context / 1` e` throw / 1`.


* REMOVED: Suporte para o Logtalk 2.x `calls / 1`,` usa / 1`, e
diretivas "alias / 3".


* REMOVED: Suporte para construção de controle do Logtalk 2.x `: / 1` obsoleto.


* REMOVED: Suporte para Logtalk 2.x `unknown`,` singletons`, obsoleto
`tmpdir` e` version` do compilador.

O que há de novo na versão 3.14:

NOVO: Suporte para variáveis ​​_parameter_ fornecendo uma alternativa para o
`parameter / 2` e` this / 1` métodos internos para acessar os parâmetros da entidade.
Variáveis ​​de parâmetro são variáveis ​​usadas no identificador de entidade paramétrica
que começam e terminam com um sublinhado (`_VariableName_`). Qualquer ocorrência
de uma variável de parâmetro em uma cláusula de entidade é implicitamente unificada com o
parâmetro da entidade. Isso permite que os parâmetros da entidade sejam adicionados, reorganizados ou
removidos sem requerer quaisquer alterações às cláusulas que se referem a elas.
Variáveis ​​de parâmetro são suportadas apenas para entidades paramétricas definidas em
arquivos de origem.

O que há de novo na versão 3.13:

NOVO: Suporte do compilador para detectar chamadas para predicados estáticos locais sem cláusulas correspondentes (o trivial também falha ).

O que há de novo na versão 3.11.1:

* MELHORADO: Mensagens de aviso e erro do compilador para torná-las mais uniformes para facilitar a análise por editores e IDEs e para evitar a impressão de termos potencialmente grandes.


* MELHORADO: O compilador não precisa mais de chamadas para o banco de dados e predicados de reflexão onde o primeiro argumento é um termo qualificado pelo módulo a ser agrupado usando a construção de controle de bypass do compilador `{} / 1`.


* MELHORADO: Verificação de erros do compilador para chamadas de predicado de banco de dados e reflexão em que o primeiro argumento é um termo qualificado pelo módulo.


* MELHORADO: Minimize o número de recarregamentos de arquivos acionados por chamadas para os predicados `logtalk_make / 0-1`.


* CORRIGIDO: Caso em que os predicados `logtalk_make / 0-1` não conseguiriam recarregar um arquivo cuja compilação gerasse um erro do compilador.

O que há de novo na versão 3.11:

* RENAMED: O alvo `logtalk_make / 1` está faltando` para `check`.


* ADICIONADO: Suporte para estender os destinos `logtalk_make / 1` com o usuário definido
ações usando o novo predicado multifile `logtalk_make_target_action / 1`.


* ADICIONADO: Compilador lint verifica para tautologia e objetivos da entidade falsidade.
Atualmente marcadas são chamadas para unificação, comparação e tipo de Prolog
testando predicados embutidos. Sugerido por Barry Evans.

O que é novo na versão 3.10.5:

* CORRIGIDO: Regressão introduzida na versão 3.10.2 quando a execução de meta-chamada métodos internos de contexto.

* CORRIGIDO: Falha do compilador resultante da aplicação de verificações de portabilidade em chamadas para predicados e funções internos do Prolog encontrados em cláusulas auxiliares (geralmente gerados pelo mecanismo de expansão de termos).

O que há de novo na versão 3.10.3:

* MELHORADO: Código simplificado gerado para predicados de vários arquivos.


* CORRIGIDO: Regressão no lançamento anterior na compilação de multifile
cláusulas predicadas que fazem chamadas para as construções de controle `:: / 1-2`.

O que há de novo na versão 3.09.1:

* ADICIONADO: Suporte para o objeto `number_of_rules / 1` e` number_of_user_rules / 1`
e propriedades de categoria.


* ADICIONADO: Suporte para propriedade de predicado `number_of_rules / 1`.


* ADICIONADO: Detecção de diretivas `meta_predicate / 1` que erroneamente especificam um objetivo
meta-argumento que na verdade é um encerramento passado para o meta-predicado `call / 2-N`
chamadas. Obrigado a Arun Majumdar pelo relatório.


* ADICIONADO: Detecção de diretivas de escopo de predicado ausentes na presença de
Diretivas `mode / 2`.

O que há de novo na versão 3.09.0:

* MUDADO: Agora os arquivos de configurações também são procurados no usuário diretório home
quando não encontrado no diretório de inicialização ou no diretório do usuário do Logtalk.
Configurar o flag `settings_file` para` restrict` agora restringe a busca por
um arquivo de configurações para o diretório do usuário do Logtalk e o diretório inicial do usuário.
Essas alterações são úteis quando uma equipe compartilha uma instalação do Logtalk com
as variáveis ​​de ambiente `LOGTALKHOME` e` LOGTALKUSER` apontando para o
mesmo diretório. Obrigado a Barry Evans pela sugestão.

O que há de novo na versão 3.08.0:

* MUDADO: Certifique-se de que nas mensagens de erro e aviso do compilador as informações de arquivo e linha são sempre a última linha do problema relatado.

O que há de novo na versão 3.07.0:

* ADDED: Um sinalizador `unicode` somente leitura para descrever o compilador Prolog de backend
suporte para o padrão Unicode.


* ADICIONADO: Suporte para instanciação de argumentos `++` (ground) e `--` (unbound)
Modos (declarados como operadores de prefixo) para uso com o predicado `mode / 2`
directiva.


* ADICIONADO: Suporte para a especificação do determinismo `one_or_error` em` mode / 2`
diretivas predicadas. Útil para documentar predicados de verificação de tipos.


* MELHORADO: Detectar tentativas de chamar metas quantificadas existencialmente fora do
escopo das chamadas `bagof / 3` e` setof / 3`.


* CORRIGIDO: Ao compilar diretivas `uses / 2`, não crie uma cláusula de vinculação para
uso de tempo de execução para predicados internos em `user` quando nenhum alias está sendo definido.


* CORRIGIDO: Ao propagar uma falha de compilação de um arquivo para seus arquivos principais,
garantir que os antepassados ​​do arquivo serão recarregados a partir do ancestral superior
pelo mecanismo make.


* CORRIGIDO: Evite recarregamentos de arquivos redundantes ao chamar `logtalk_make / 0` ou
`logtalk_make / 1` com o alvo` all`.


* FIXED: Detecção de predicados ausentes em chamadas `^^ / 1` ao chamar
`logtalk_make / 1` com o alvo` missing`.

* CORRIGIDO: erro na API de reflexão em que algumas referências cruzadas de predicado
as informações não foram registradas. Agradecimentos a Edward Schwartz pelo relatório de erros.

O que há de novo na versão 3.06.2:

Esta versão continua o trabalho de melhorar as ferramentas de desenvolvimento sob o patrocínio da Kyndi, Inc. Inclui uma nova versão da ferramenta wrapper para portar aplicativos simples do Prolog e melhorias e correções para as ferramentas lgtunit e diagramas. Ele também inclui novos testes de unidade, compilador e correções de documentação, além de uma atualização de compatibilidade para o Lean Prolog.

O que há de novo na versão 3.04.1:

* CORRIGIDO: Erro de compilador em que um predicado que é expandido por termo chamando o método `compile_aux_clauses / 1` pode ser reportado incorretamente como não contíguo.


* CORRIGIDO: As chamadas para o predicado integrado `threaded_notify / 1` de dentro do pseudo-objeto` user` não devem requerer um argumento vinculado conforme a documentação.


* CORRIGIDO: Chama para os predicados integrados `object_property / 2` e category_property / 2` com argumentos de propriedade` number_of_clauses / 1` ou `number_of_user_clauses / 1` para ser determinista.

O que é novo na versão 3.03.0:

* ADICIONADO: Suporte para um novo alvo `logtalk_make / 1`,` missing`, para listar entidades e predicados ausentes. Também disponível usando o atalho `{?}`.

* ADICIONADO: Suporte para um novo alvo `logtalk_make / 1`,` circular`, para listar referências circulares (considerando metas de envio de mensagens) entre pares e trios de objetos. Também disponível usando o atalho `{@}`.

* MELHORADO: Anexa um hash de diretório aos nomes intermediários do arquivo Prolog para ajudar a evitar colisões de nomes de arquivos ao coletar todos os arquivos intermediários no mesmo diretório para incorporação. Atualmente requer ECLiPSe, GNU
Prolog, JIProlog, Quintus Prolog, SICStus Prolog, SWI-Prolog, XSB ou YAP como o compilador backend.

* CORRIGIDO: Erro de otimização de chamada predicado meta quando um meta-argumento é um encerramento pré-compilado ou um fechamento para uma meta chamada no contexto do
pseudo-objeto `user`. Aplique também uma verificação de erros mais rigorosa para fechar meta-argumentos.

* CORRIGIDO: impressão bonita de identificadores de categoria paramétrica e de objeto paramétrico em mensagens de erro e de aviso.

O que há de novo na versão 3.02.2:

* CORRIGIDO: Erro ao verificar erro em expressões lambda usando `true / 0` como o lambda
objetivo. Obrigado ao Boris Vassilev pelo relatório do bug.


* CORRIGIDO: O predicado `logtalk_make / 1` teria sucesso (depois de imprimir um aviso
mensagem) quando chamado com um argumento não instanciado ou inválido em vez de
falhando. ao
gerou arquivos Prolog intermediários usando um predicado multifile para uma melhor
incorporação de experiência. Notavelmente, facilita a incorporação incremental.


* MELHORADO: Os predicados make agora também recarregam os arquivos principais dos arquivos com
erros de compilação ou carregamento. Isso garante que, quando um arquivo defeituoso aborta o
compilação de todos os arquivos em um arquivo carregador, os arquivos listados após a falha
arquivo será compilado quando o arquivo defeituoso é corrigido e os predicados make são
chamado.

O que há de novo na versão 3.02.1:

* MELHORADO: As entradas da tabela de tempo de execução para arquivos carregados agora são adicionadas aos arquivos Prolog intermediários gerados usando um predicado de vários arquivos para uma melhor experiência de incorporação. Notavelmente, facilita a incorporação incremental.
 * MELHORADO: Os predicados make agora também recarregam os arquivos principais dos arquivos com erros de compilação ou carregamento. Isso garante que, quando um arquivo defeituoso aborta a compilação de todos os arquivos em um arquivo loader, os arquivos listados após o arquivo defeituoso serão compilados quando o arquivo defeituoso for corrigido e os predicados make forem chamados.

O que há de novo na versão 3.01.2:

Esta versão completa a implementação da ligação estática; adiciona suporte para usar nomes de arquivos no estado em que se encontra com os predicados de compilação e carregamento; corrige bugs do compilador; apresenta atualizações de documentação; aprimora as ferramentas de depuração, teste e documentação; adiciona um novo conjunto de testes unitários para verificar a conformidade do Prolog com os padrões oficiais e de fato; atualiza a coloração de sintaxe para todos os editores de texto e marcadores de sintaxe suportados; e inclui atualizações de compatibilidade para ECLiPSe, JIProlog e YAP.

Requisitos :

Compilador Prolog compatível.

Programas semelhantes

SourceTree for Mac
SourceTree for Mac

26 Apr 17

FMChecker
FMChecker

3 Jan 15

iLocalize
iLocalize

25 May 15

Outro software de desenvolvedor Logtalk

Logtalk
Logtalk

3 May 15

Comentário para Logtalk

Comentários não encontrado
Adicionar comentário
Ligue imagens!