SWI-Prolog

Software screenshot:
SWI-Prolog
Dettagli del software:
Versione: 7.2.3 / 7.3.6-dev Aggiornato
Data di caricamento: 1 Oct 15
Sviluppatore: Jan Wielemaker
Licenza: Libero
Popolarità: 99

Rating: 1.0/5 (Total Votes: 1)

E 'fini della programmazione logica utili, l'intelligenza artificiale e linguistica computazionale

Cosa c'è di nuovo in questa versione:.

  • Il nuovo tipo dict e la sintassi fornisce entrambe le mappe tempo e dello spazio efficiente nome-valore con una sintassi piacevole.
  • Di conseguenza, è stato necessario sostituire costruttore lista (H, T) dalla (anche in uso da mercurio) '[|]'. (H, T). Che può sembrare drastico, ma in pratica colpisce soltanto alcuni programmi, in particolare facendo funtore (Term, F, A) su liste e quindi selezionando l'ulteriore elaborazione su F == '.', A == 2. Per trasformare più liste in una costrutto speciale, [] è ancora la lista vuota, ma non è più lo stesso di '[]', vale a dire, [] non è atomo.
  • La sintassi & quot; ... & quot; è ora mappato alle stringhe. Le stringhe sono compatibili con Eclipse (grazie a Joachim Schimpf per tutte le discussioni). Code-list tradizionali sono costruiti utilizzando .... Le bandiere double_quotes e back_quotes controllano questo comportamento.
  • Grazie a Torbjorn Lager, abbiamo & quot; & quot ;, Pengines motori Prolog sul web. Ciò fornisce un'API generica per parlare comodamente a un server Prolog da JavaScript e altre istanze Prolog. E 'abilitata SWISH, SWI-Prolog nel tuo browser (http://swish.swi-prolog.org), così come http://lpn.swi-prolog.org (Per saperne di Prolog Now! Con SWISH incorporato).
  • Markus Triska aggiunto CLP (b), il risolutore vincolo booleana, ha migliorato il suo CLP (FD) ed è stato prima di diversi miglioramenti al livello superiore che fare con i vincoli.
  • Grazie a Matt Lilley e Mike Elston, c'è CQL, un DSL (Domain Specific Language) per trattare con SQL. CQL si sviluppa in un ambiente in cui i database SQL complesse sono la norma e supporta quindi un grande sottoinsieme di SQL e possono occuparsi di tabelle con migliaia di colonne e altre cose che l'utente SQL ocasional non si aspetta.
  • Matt Lilley migliorato supporto di rete in modo significativo, tra cui un supporto molto migliore per SSL e supporto generale per entrambi HTTP e server proxy SOCKS.
  • Molte persone hanno fornito componenti aggiuntivi (pacchetti) che si basano su SWI-Prolog versione 7.

Cosa c'è di nuovo nella versione 7.2.1 / 7.3.3-dev:

  • Il nuovo tipo dict e la sintassi fornisce sia mappe di tempo e di spazio efficiente nome-valore con una sintassi piacevole.
  • Di conseguenza, è stato necessario sostituire costruttore lista (H, T) dalla (anche in uso da mercurio) '[|]'. (H, T). Che può sembrare drastico, ma in pratica colpisce soltanto alcuni programmi, in particolare facendo funtore (Term, F, A) su liste e quindi selezionando l'ulteriore elaborazione su F == '.', A == 2. Per trasformare più liste in una costrutto speciale, [] è ancora la lista vuota, ma non è più lo stesso di '[]', vale a dire, [] non è atomo.
  • La sintassi & quot; ... & quot; è ora mappato alle stringhe. Le stringhe sono compatibili con Eclipse (grazie a Joachim Schimpf per tutte le discussioni). Code-list tradizionali sono costruiti utilizzando .... Le bandiere double_quotes e back_quotes controllano questo comportamento.
  • Grazie a Torbjorn Lager, abbiamo & quot; & quot ;, Pengines motori Prolog sul web. Ciò fornisce un'API generica per parlare comodamente a un server Prolog da JavaScript e altre istanze Prolog. E 'abilitata SWISH, SWI-Prolog nel tuo browser (http://swish.swi-prolog.org), così come http://lpn.swi-prolog.org (Per saperne di Prolog Now! Con SWISH incorporato).
  • Markus Triska aggiunto CLP (b), il risolutore vincolo booleana, ha migliorato il suo CLP (FD) ed è stato prima di diversi miglioramenti al livello superiore che fare con i vincoli.
  • Grazie a Matt Lilley e Mike Elston, c'è CQL, un DSL (Domain Specific Language) per trattare con SQL. CQL si sviluppa in un ambiente in cui i database SQL complesse sono la norma e supporta quindi un grande sottoinsieme di SQL e possono occuparsi di tabelle con migliaia di colonne e altre cose che l'utente SQL ocasional non si aspetta.
  • Matt Lilley migliorato supporto di rete in modo significativo, tra cui un supporto molto migliore per SSL e supporto generale per entrambi HTTP e server proxy SOCKS.
  • Molte persone hanno fornito componenti aggiuntivi (pacchetti) che si basano su SWI-Prolog versione 7.

Cosa c'è di nuovo nella versione 7.2.0 / 7.3.1-dev:

  • Il nuovo tipo dict e la sintassi fornisce sia mappe di tempo e di spazio efficiente nome-valore con una sintassi piacevole.
  • Di conseguenza, è stato necessario sostituire costruttore lista (H, T) dalla (anche in uso da mercurio) '[|]'. (H, T). Che può sembrare drastico, ma in pratica colpisce soltanto alcuni programmi, in particolare facendo funtore (Term, F, A) su liste e quindi selezionando l'ulteriore elaborazione su F == '.', A == 2. Per trasformare più liste in una costrutto speciale, [] è ancora la lista vuota, ma non è più lo stesso di '[]', vale a dire, [] non è atomo.
  • La sintassi & quot; ... & quot; è ora mappato alle stringhe. Le stringhe sono compatibili con Eclipse (grazie a Joachim Schimpf per tutte le discussioni). Code-list tradizionali sono costruiti utilizzando .... Le bandiere double_quotes e back_quotes controllano questo comportamento.
  • Grazie a Torbjorn Lager, abbiamo & quot; & quot ;, Pengines motori Prolog sul web. Ciò fornisce un'API generica per parlare comodamente a un server Prolog da JavaScript e altre istanze Prolog. E 'abilitata SWISH, SWI-Prolog nel tuo browser (http://swish.swi-prolog.org), così come http://lpn.swi-prolog.org (Per saperne di Prolog Now! Con SWISH incorporato).
  • Markus Triska aggiunto CLP (b), il risolutore vincolo booleana, ha migliorato il suo CLP (FD) ed è stato prima di diversi miglioramenti al livello superiore che fare con i vincoli.
  • Grazie a Matt Lilley e Mike Elston, c'è CQL, un DSL (Domain Specific Language) per trattare con SQL. CQL si sviluppa in un ambiente in cui i database SQL complesse sono la norma e supporta quindi un grande sottoinsieme di SQL e possono occuparsi di tabelle con migliaia di colonne e altre cose che l'utente SQL ocasional non si aspetta.
  • Matt Lilley migliorato supporto di rete in modo significativo, tra cui un supporto molto migliore per SSL e supporto generale per entrambi HTTP e server proxy SOCKS.
  • Molte persone hanno fornito componenti aggiuntivi (pacchetti) che si basano su SWI-Prolog versione 7.

Cosa c'è di nuovo nella versione 6.6.6 / 7.1.37:

  • Lavorazione dei # !, vincolante un file a un interprete in Unix non cerca di essere intelligenti su opzioni di elaborazione per l'interprete. L'effetto di questo cambiamento dipende dalle versioni Unix:. Alcuni solo passare la prima opzione, altri imballare tutte le opzioni in un unico e altri ancora passano le opzioni dopo la rottura di loro
  • La bandiera argv Prolog prevede solo argomenti che non sono stati elaborati da Prolog.
  • Il file di inizializzazione .plrc (pl.ini in Windows) non è più cercato nella directory di lavoro per ragioni di sicurezza.

Cosa c'è di nuovo nella versione 6.6.6 / 7.1.31:

  • Lavorazione dei # !, vincolante un file a un interprete in Unix non cerca di essere intelligenti su opzioni di elaborazione per l'interprete. L'effetto di questo cambiamento dipende dalle versioni Unix:. Alcuni solo passare la prima opzione, altri imballare tutte le opzioni in un unico e altri ancora passano le opzioni dopo la rottura di loro
  • La bandiera argv Prolog prevede solo argomenti che non sono stati elaborati da Prolog.
  • Il file di inizializzazione .plrc (pl.ini in Windows) non è più cercato nella directory di lavoro per ragioni di sicurezza.

Cosa c'è di nuovo nella versione 6.4.0:

  • Aggiornata la libreria RDF alla versione 3. Chiunque prende cura su RDF era probabilmente già utilizzando la versione di sviluppo per questo motivo. Parser veloci aggiunto per ntriples, formati Turtle e Trig.
  • Introduzione di quotazione quasi per l'inclusione regolare e sicuro di frammenti linguistici esterni
  • Aggiornamento di PlDoc ad accettare i costrutti di riduzione dei prezzi comune.
  • Molti miglioramenti agli strumenti di sviluppo, librerie HTTP, il pacchetto clib. ecc Migliorato il supporto per i processi daemon Unix (syslog, UID / GID gestione, ecc.)
  • Un inizio per la gestione locale (che supporta il formato / 3, in particolare la scrittura locale specifica grandi interi.
  • Un sacco di roba stabilità: si blocca. fisse, le patch di portabilità, costruire miglioramenti del sistema, ecc

Cosa c'è di nuovo nella versione 6.2.0:

  • Versione iniziale del pacchetto 'direttore `pacchetto
  • Migliore gestione file sorgente, in particolare WRT. : - Includere (file)
  • .
  • Molte correzioni al debugger, migliorando maneggevolezza sorgente e la logica che decide su quali porte sono nascoste.
  • versione di Windows ora costruire utilizzando il progetto compilatore MinGW, con conseguente aumento di velocità 10-20%. Miglioramenti a swipl-win.exe console:. Copia / incolla e il supporto del colore

Cosa c'è di nuovo nella versione 6.0.0:

  • Dinamico indicizzazione just-in-time su più argomenti .
  • Sottratto molte delle API di sviluppo, sostenendo l'IDE PDT.
  • Un sacco di pulizia, correzioni di bug, ecc.

Cosa c'è di nuovo nella versione 5.11.20:.

  • Riduzione utilizzo sentiero-stack
  • Fornire garbage collection generazionale.

Cosa c'è di nuovo nella versione 5.11.10:

  • Ridurre l'utilizzo trail-stack. (in parte)
  • Fornire garbage collection generazionale.

Cosa c'è di nuovo nella versione 5.11.9:

  • Ridurre l'utilizzo trail-stack. (in parte)
  • Fornire garbage collection generazionale.

Cosa c'è di nuovo nella versione 5.10.0:

  • Tutte le piattaforme ora usano denominazione coerente. L'eseguibile SWI-Prolog è chiamato swipl, il linker swipl-ld e il direttore resouce file swipl-rc.
  • Nuova memoria gestione dello stack che si basa su una pila di cambiata piuttosto che allocare le cataste scarsamente nell'indirizzo-spazio virtuale. Questa modifica consente di molto migliore scalabilità del numero di thread, così abbiamo anche rimosso il vecchio limite filo-count di 100. I limiti di stack possono essere sollevate e ridotto in fase di esecuzione utilizzando set_prolog_stack / 2.
  • Il default dello stack-size-limiti sono ora 128Mb per ogni stack a 32 bit e 256 MB su hardware a 64 bit.
  • Ampia perdita e prove di stress hanno fissato una serie di fughe di notizie e condizioni di gara, rendendo il sistema molto più robusto di configurazione del server 24x7.
  • Un inizio è stato fatto per evitare di utilizzare il C-stack per recursing in termini. Questo permette di elaborazione molto più profondamente nidificate termini e fornisce un'eccezione pulito se ci sono risorse insufficienti per attraversare il termine. C'è ancora molto da fare in questo settore.
  • SWI-Prolog 5.10.0 introduce riferimenti sicuri per termini di database (assertz / 2, recordz / 3) e corsi d'acqua (aperto / 3).
  • Il numero di variabili in clausole è ora limitata a 1.000 milioni; questo era 65535. Inoltre, il sistema fornisce eccezioni graziosi quando incontra risorse errori o cercando di far valere termini illegali come termini ciclici.
  • Compatibilità sia YAP e SICStus è migliorata.

Cosa c'è di nuovo nella versione 5.8.2:

  • PULIZIA: Attuazione e documentazione dell'interfaccia di segnalazione.
  • FIXED:. Utilizzare --nopce / - pce per (dis) che permette grafica
  • FISSO: GC-bug; omettere strippaggio uwrite bit da stack degli argomenti
  • MODIFICATO: Rimosso il prologo di bandiera abort_with_exception; essa non è più utilizzato.
  • FISSO: Evitare di stallo durante il tentativo di uscire dopo un errore fatale
  • .
  • MODIFICATO: is_set / 1 ora utilizza sorta / 2. Di conseguenza, le variabili non condivise vengono considerati diversi elementi; l'ordine è log N * (N) e il predicato può restituire una risorsa di errori.
  • FISSO: After: -.. modulo (x), eseguire obiettivi di espansione rispetto al modulo x
  • PULIZIA: Articolo # 547:. correttamente citare predicati indefiniti e alternative
  • DOC: Chiarire current_arithmetic_function / 1
  • .
  • DOC: Fornire disponibilità snippit per funzioni C
  • FISSO: semplificazione Precedente corrotto amministratore variabile del compilatore. Anche aggiunto test-case.
  • FISSO: bug # 436: unificando una variabile con sé crea un ciclo di riferimento
  • .

Ciò che è nuovo nella versione 5.7.14:

  • FISSO: cross-referencer distinguere: da 0 nelle dichiarazioni meta-predicato
  • PULIZIA: Usa meta_predicate per predsort / 3
  • MODIFICATO: fare / 0 ora solo le scansioni per i riferimenti ai predicati non definiti nei moduli che li contengono. Il list_undefined / 0 ancora ricerche a livello globale.
  • ENHANCED: CLP (FD):. Arc-coerente global_cardinality / 2 se le coppie sono inizialmente terra
  • FISSO: Maniglia (fascicolo) predicati per i quali alcune clausole hanno il loro corpo in un altro modulo e un po 'lo stesso. Matt Lilley.
  • AGGIUNTO:% [& # x3c; n & # X3e;] formato f a format_time / 3 a trattare con le frazioni di secondo. Utilizzato da nuove estensioni di debug.
  • AGGIUNTO: debug_message_context (+ | -Context) per specificare contesto aggiuntivo per i messaggi di debug (come un time-stamp)
  • .
  • FISSO: Fai apply_macros fare la sua espansione obiettivo nel contesto del modulo di sistema
  • ENHANCED: CLP (FD): Faster global_cardinality / 2 se le coppie chiave-Num sono terra
  • .
  • FIXED: il comando a manovella con priorità nella stampa risposta. Markus Triska.
  • ENHANCED: utilizzare le opzioni di stampa di primo livello per obiettivi residue, l'implementazione di pulizia
  • ENHANCED: Fai term_variables e term_attvars efficiente se viene specificata una lista (in particolare term_attvars (Term, []))
  • .
  • ENHANCED: Fai la base di dati registrato utilizzare il nuovo codice termine-walker
  • ENHANCED: prima messa a punto di uno scheletro per attraversare i termini con un ciclo semplice piuttosto che una procedura ricorsiva. Ora in uso per term_variables / 2 e predicati correlati. Lo schema appare adeguato, ma il codice pila segmentato deve essere ottimizzata notevolmente. Come è, term_variables / 2 è leggermente più lento (5%), ma è in grado di gestire termini profondamente nidificate con molta meno memoria e senza overflow dello stack.
  • AGGIUNTO: term_attvars / 2 per un miglior supporto di copy_term / 3. Dopo la discussione con Markus Triska.
  • AGGIUNTO: del_attrs / 1 * per cancellare tutti gli attributi *. Semplifica copy_term / 3.

Cosa c'è di nuovo nella versione 5.7.12:

  • Miglioramento delle prestazioni dei programmi più grandi è compresa tra 10 e 40 %, a seconda dello stile di programmazione. In particolare i risolutori di vincoli profitto significativo. Piccoli programmi a volte mostrano incrementi nella velocità ben più grandi.
  • Da 5.7.4, sistema di modulo aggiornato
  • Un sacco di pulizia in denominazione e modularizzazione del codice di base.

Programmi simili

Apache Airavata
Apache Airavata

6 Mar 16

BigDecimal.js
BigDecimal.js

5 Jun 15

SciTools
SciTools

5 Jun 15

Commenti a SWI-Prolog

I commenti non trovato
Aggiungi commento
Accendere le immagini!