Logtalk

Software screenshot:
Logtalk
Dettagli del software:
Versione: 3.38 Aggiornato
Data di caricamento: 4 May 20
Sviluppatore: Logtalk
Licenza: Libero
Popolarità: 25
Dimensione: 20008 Kb

Rating: 4.0/5 (Total Votes: 4)


        Logtalk è un linguaggio di programmazione logica orientato agli oggetti che può utilizzare la maggior parte delle implementazioni di Prolog come un compilatore di back-end. Come linguaggio multi-paradigma, Logtalk include il supporto per prototipi e classi, protocolli (interfacce), programmazione basata su componenti, composizione basata su categorie, programmazione basata su eventi e programmazione multi-threading di alto livello.
    

Novità della nuova versione in questa versione:

* MIGLIORAMENTO: evita gli spuri mancati avvertimenti di direttiva `meta_predicate / 1` quando la meta-call effettiva non condivide le variabili con testa di clausola.


* MIGLIORATO: Permetti di usare espressioni lambda nelle regole grammaticali senza richiedere un wrapper `call // 1`.


* FISSO: bug di ottimizzazione nella compilazione di un meta-argomento di chiusura quando l'obiettivo risultante è una chiamata a un predicato incorporato di Prolog dovuto all'integrazione di una definizione di predicato dell'utente.


* FISSO: bug di ottimizzazione nella compilazione di un meta-argomento di chiusura quando l'obiettivo risultante è una chiamata a un costrutto di controllo Prolog `: / 2`.

Cosa c'è di nuovo in versione 3.19:

* AGGIUNTO: supporto per la definizione di predicati integrati Prolog aggiuntivi per i pelucchi
verifica degli obiettivi che sono sempre veri o falsi con i file dell'adattatore usando il
predicato di aggancio `'$ lgt_candidate_tautology_or_falsehood_goal_hook' / 1`.


* AGGIUNTO: proprietà `modulo` per oggetti risultanti dalla compilazione
dei moduli Prolog.


* AGGIUNTO: errore pratico generando metodi incorporati `syntax_error / 1` e
`SYSTEM_ERROR / 0 '. Questi metodi generano termini di errore standard `error / 2`
e sono equivalenti ad una sequenza di chiamate di `context / 1` e` throw / 1`.


* RIMOSSO: Supporto per le chiamate obsolete Logtalk 2.x `1`,` usa / 1`, e
direttive "alias / 3".


* RIMOSSO: Supporto per il costrutto di controllo Logtalk 2.x `: / 1` deprecato.


* RIMOSSO: Supporto per Logtalk obsoleto 2.x `sconosciuto`,` singletons`,
`tmpdir` e flag di compilazione` version`.

Novità in nella versione 3.14:

NOVITÀ: supporto per _parameter variables_ che fornisce un'alternativa a
`parameter / 2` e` this / 1` metodi incorporati per accedere ai parametri di entità.
Le variabili dei parametri sono variabili utilizzate nell'identificatore dell'entità parametrica
che inizia e termina con un trattino basso (`_VariableName_`). Qualsiasi evento
di una variabile di parametro in una clausola di entità è implicitamente unificata con il
parametro entità Ciò consente di aggiungere, riorganizzare o modificare i parametri di entità
rimosso senza richiedere modifiche alle clausole che si riferiscono a loro.
Le variabili dei parametri sono supportate solo per le entità parametriche definite in
file sorgente.

Novità nella versione 3.13:

NOVITÀ: supporto del compilatore per il rilevamento di chiamate a predicati statici locali senza clausole di corrispondenza (anche banali fallimenti ).

Novità nella versione 3.11.1:

* MIGLIORAMENTO: messaggi di avviso e di errore del compilatore per renderli più uniformi per facilitare l'analisi da parte di editor e IDE e per evitare di stampare termini potenzialmente di grandi dimensioni.


* MIGLIORATO: il compilatore non richiede più chiamate al database e predicati di riflessione in cui il primo argomento è un termine qualificato dal modulo da avvolgere usando il costrutto di controllo di esclusione del compilatore `{} / 1`.


* MIGLIORATA: verifica degli errori del compilatore per le chiamate al predicato di riflessione e di database in cui il primo argomento è un termine qualificato dal modulo.


* MIGLIORATO: Riduce al minimo il numero di ricariche di file attivate dalle chiamate ai predicati `logtalk_make / 0-1`.


* FISSO: caso in cui i predicati `logtalk_make / 0-1` non riescono a ricaricare un file la cui compilazione ha generato un errore del compilatore.

Novità nella versione 3.11:

* CHANGED: il predicato incorporato `current_event / 5` per istanziare sempre il primo argomento quando viene chiamato con esso non associato.


* AGGIUNTO: supporto per l'override della directory scratch predefinita mediante la definizione
la libreria alias `scratch_directory` in un file di inizializzazione Prolog backend
(si presume che venga caricato prima del caricamento di Logtalk). Dopo una discussione con
Douglas R. Miles sul supporto dell'installazione di Logtalk in una directory di sola lettura
ed eseguire più istanze Logtalk contemporaneamente senza conflitti.


* AGGIUNTO: Un metodo di esecuzione del contesto integrato `context / 1` per fornire accesso
a un contesto di esecuzione delle chiamate previste. Utilizzato principalmente per fornire un valore predefinito
contesto di errore quando gli argomenti del predicato di controllo dei tipi.


* AGGIUNTO: supporto per la stampa di messaggi di tipo `debug` e` debug (_) `. Questi
i messaggi vengono stampati, di default, solo quando il flag `debug` è attivato.


* AGGIUNTO: La proprietà `include (File)` a `logtalk :: loaded_file_property / 2`
predicato per consentire di enumerare, facendo il backtracking, tutti i file inclusi da a
file caricato (usando le direttive `include / 1`).

Cosa c'è di nuovo nella versione 3.10.7:

* RINOMATO: Il `target logtalk_make / 1` mancante a` check`.


* AGGIUNTO: supporto per l'estensione dei target `logtalk_make / 1` con definito dall'utente
azioni che utilizzano il nuovo predicato multifile `logtalk_make_target_action / 1`.


* AGGIUNTO: il lint del compilatore verifica gli obiettivi delle entità di tautologia e falsità.
Attualmente controllate sono le chiamate a unificazione, confronto e tipo di Prolog
testare i predicati integrati. Suggerito da Barry Evans.

Novità nella versione 3.10.5:

* FISSO: Regressione introdotta nella versione 3.10.2 durante l'esecuzione di meta-chiamata metodi built-in del contesto.

* FISSO: errore del compilatore derivante dall'applicazione dei controlli di portabilità alle chiamate ai predicati e alle funzioni incorporate in Prolog trovate nelle clausole ausiliarie (generalmente generate dal meccanismo di espansione del termine).

Novità

forte> nella versione 3.10.3:

* MIGLIORATO: codice semplificato generato per predicati multifile.


* FISSO: regressione nella versione precedente nella compilazione di multifile
clausole di predicato che effettuano chiamate ai costrutti di controllo `:: / 1-2`.

Novità nella versione 3.09.1 ​​

:

* AGGIUNTO: supporto per `number_of_rules / 1` e` number_of_user_rules / 1` object
e proprietà di categoria.


* AGGIUNTO: supporto per la proprietà del predicato `number_of_rules / 1`.


* AGGIUNTO: Rilevamento delle direttive `meta_predicate / 1` che specificano erroneamente un obiettivo
meta-argomento che in realtà è una chiusura passata al meta-predicato `call / 2-N`
chiamate. Grazie ad Arun Majumdar per il rapporto.


* AGGIUNTO: Rilevamento di direttive di portata del predicato mancanti in presenza di
`mode / 2` direttive.

Novità nella versione 3.09.0:

* CHANGED: ora i file delle impostazioni sono ricercati anche dall'utente home directory
quando non si trova nella directory di avvio o nella directory utente Logtalk.
L'impostazione del flag `settings_file` su` restrict` ora limita la ricerca
un file di impostazioni nella directory utente Logtalk e nella directory home dell'utente.
Queste modifiche sono utili quando un team condivide un'installazione Logtalk con entrambi
le variabili di ambiente `LOGTALKHOME` e` LOGTALKUSER` che puntano a
stessa directory. Grazie a Barry Evans per il suggerimento.

Novità nella versione 3.08.0:

* MODIFICATO: assicurati che nell'errore del compilatore e nei messaggi di avviso il le informazioni su file e linee sono sempre l'ultima riga per il problema segnalato.

Novità nella versione 3.07.0:

* AGGIUNTO: un flag di sola lettura `unicode` per descrivere il compilatore Prolog back-end
supporto per lo standard Unicode.


* AGGIUNTO: Supporto per l'istanza dell'argomento `++` (terra) e `--` (non associato)
modalità (dichiarate come operatori di prefissi) da usare con il predicato `mode / 2`
direttiva.


* AGGIUNTO: supporto per le specifiche del determinismo `one_or_error` in` mode / 2`
direttive preliminari. Utile per documentare i predicati di controllo dei tipi.


* MIGLIORATO: Rileva i tentativi di chiamare obiettivi quantificati esistenzialmente al di fuori del
ambito di chiamate `bagof / 3` e` setof / 3`.


* FISSO: quando si compila `usa le direttive / 2`, non creare una clausola di collegamento per
uso runtime per i predicati incorporati in `utente` quando nessun alias viene definito.


* FISSO: durante la propagazione di un errore di compilazione per un file nei file principali,
assicurarsi che gli antenati del file vengano ricaricati a partire dal primo antenato
dal meccanismo di fabbricazione.


* FISSO: evitare ricariche di file ridondanti quando si chiama `logtalk_make / 0` o
`logtalk_make / 1` con il target` all`.


* FISSO: rilevamento dei predicati mancanti nelle chiamate `^^ / 1` durante la chiamata
`logtalk_make / 1` con il target` mancante`.

* FISSO: errore nell'API di riflessione in cui alcuni riferimenti incrociati fanno riferimento
le informazioni non sono state registrate. Grazie a Edward Schwartz per il bug report.

Novità nella versione 3.06.2:

Questa versione continua il lavoro sul miglioramento degli strumenti di sviluppo sotto la sponsorizzazione di Kyndi, Inc. Include una nuova versione dello strumento wrapper per il porting di semplici applicazioni Prolog e miglioramenti e correzioni per gli strumenti lgtunit e diagrammi. Include anche nuovi test unitari, correzioni di documentazione e compilatore e un aggiornamento di compatibilità per Lean Prolog.

Novità nella versione 3.04.1:

* FISSO: bug del compilatore in cui un predicato espanso a termine chiamando il metodo `compile_aux_clauses / 1` potrebbe essere erroneamente indicato come discontinuo.


* FISSO: le chiamate al predicato incorporato `threaded_notify / 1` dallo pseudo-oggetto` user` non devono richiedere un argomento associato come da documentazione.


* FISSO: chiama i predicati incorporati `object_property / 2` e category_property / 2` con gli argomenti di proprietà` number_of_clauses / 1` o `number_of_user_clauses / 1` per essere deterministici.

Che cos'è nuovo nella versione 3.03.0:

* AGGIUNTO: supporto per un nuovo target `logtalk_make / 1`,` mancante`, per elencare le entità mancanti ei predicati. Disponibile anche usando la scorciatoia `{?}`.

* AGGIUNTO: Supporto per un nuovo obiettivo `logtalk_make / 1`,` circular`, per elencare riferimenti circolari (considerando gli obiettivi di invio di messaggi) tra coppie e trii di oggetti. Disponibile anche usando la scorciatoia `{@}`.

* MIGLIORATA: aggiungi un hash della directory ai nomi dei file Prolog intermedi per evitare conflitti tra nomi di file quando raccogli tutti i file intermedi nella stessa directory per l'incorporamento. Attualmente richiede ECLiPSe, GNU
Prolog, JIProlog, Quintus Prolog, SICStus Prolog, SWI-Prolog, XSB o YAP come compilatore di backend.

* FISSO: bug di ottimizzazione delle chiamate di meta-predicato quando un meta-argomento è una chiusura precompilata o una chiusura per un obiettivo chiamato nel contesto del
pseudo-oggetto `utente`. Applicare anche un controllo degli errori più rigoroso ai meta-argomenti di chiusura.

* FISSO: Pretty-stampa di identificatori di categorie parametriche e oggetti parametrici nei messaggi di errore e di avvertimento.

Novità nella versione 3.02.2:

* FISSO: errore nel controllo del bug nelle espressioni lambda usando `true / 0` come lambda
obbiettivo. Grazie a Boris Vassilev per il bug report.


* FISSO: il predicato `logtalk_make / 1` avrebbe avuto successo (dopo aver stampato un avvertimento
messaggio) quando viene chiamato con un argomento non istanziato o non valido invece di
fallendo. al
generato file intermedi Prolog utilizzando un predicato multifile per un migliore
incorporando esperienza. In particolare, rende più semplice l'incorporamento incrementale.


* MIGLIORATO: i predicati di creazione ora ricaricano anche i file principali dei file con
compilazione o errori di caricamento. Questo assicura che, quando un file difettoso interrompe il
compilazione di tutti i file in un file loader, i file elencati dopo l'errore
il file verrà compilato quando il file difettoso è stato risolto e i predicati del make sono
chiamato.

Novità nella versione 3.02.1:

* MIGLIORAMENTO: le voci della tabella di runtime per i file caricati vengono ora aggiunte ai file Prolog intermedi generati utilizzando un predicato multifile per una migliore esperienza di incorporamento. In particolare, rende più semplice l'incorporamento incrementale.
 * MIGLIORATO: i predicati della marca ora ricaricano anche i file principali dei file con errori di compilazione o di caricamento. Ciò garantisce che, quando un file difettoso interrompe la compilazione di tutti i file in un file del caricatore, i file elencati dopo il file difettoso verranno compilati quando il file difettoso viene risolto e vengono chiamati i predicati della marca.

Novità nella versione 3.01.2:

Questa versione completa l'implementazione del binding statico; aggiunge il supporto per l'utilizzo dei nomi dei file così come avviene con i predicati di compilazione e caricamento; corregge i bug del compilatore; caratteristiche aggiornamenti della documentazione; migliora gli strumenti di debug, test e documentazione; aggiunge una nuova serie di test unitari per verificare la conformità di Prolog con gli standard ufficiali e di fatto; aggiorna la colorazione della sintassi per tutti gli editor di testo supportati e gli evidenziatori di sintassi; e include gli aggiornamenti di compatibilità per ECLiPSe, JIProlog e YAP.

Requisiti :

Compilatore Prolog compatibile.

Programmi simili

panFora Lite
panFora Lite

3 Jan 15

SCPlugin
SCPlugin

2 Jan 15

XML-RPC Client
XML-RPC Client

3 Jan 15

Altri software di sviluppo Logtalk

Logtalk
Logtalk

3 May 15

Commenti a Logtalk

I commenti non trovato
Aggiungi commento
Accendere le immagini!