SWI-Prolog

Logiciel capture d'écran:
SWI-Prolog
Détails logiciels:
Version: 7.2.3 / 7.3.6-dev Mise à jour
Date de transfert: 1 Oct 15
Développeur: Jan Wielemaker
Licence: Gratuit
Popularité: 99

Rating: 1.0/5 (Total Votes: 1)

Il est des fins de programmation logique utiles, l'intelligence artificielle et la linguistique computationnelle

Quoi de neuf dans cette version:.

  • Le nouveau type de dict et la syntaxe fournit à la fois des cartes de temps et d'espace efficace nom-valeur avec une syntaxe agréable.
  • En conséquence, il était nécessaire de remplacer le constructeur de liste (H, T) par le (également utilisé par Mercury) '[|] ». (H, T). Cela peut sembler drastique, mais en pratique, ne touche que quelques programmes, notamment faire foncteur (durée, F, A) sur les listes, puis en sélectionnant un traitement ultérieur sur F == '.', A == 2. Pour activer des listes plus dans un construction spéciale, [] est toujours la liste vide, mais ne sont plus les mêmes que «[]», à savoir, [] ne sont pas sur l'atome.
  • La syntaxe & quot; ... & quot; est maintenant mappé à cordes. Strings sont compatibles avec Eclipse (merci à Joachim Schimpf pour toutes les discussions). Listes de codes traditionnels sont construits en utilisant .... Les drapeaux double_quotes et back_quotes contrôlent ce comportement.
  • Merci à Torbjorn Lager, nous disposons de & quot; & quot ;, Pengines moteurs Prolog sur le web. Ceci fournit une API générique pour parler confortablement à un serveur Prolog à partir de JavaScript et d'autres instances Prolog. Il a permis SWISH, SWI-Prolog dans votre navigateur (http://swish.swi-prolog.org) ainsi que http://lpn.swi-prolog.org (En savoir Prolog Now! Avec SWISH embarqué).
  • Markus Triska ajouté clp (b), la contrainte solveur booléen, a amélioré son clp (fd) et était avant plusieurs améliorations au premier niveau face à des contraintes.
  • Merci à Matt et Mike Elston Lilley, il est CQL, un DSL (Domain Specific Language) pour traiter avec SQL. CQL est développé dans un environnement où les bases de données SQL complexes sont la norme et soutient donc un grand sous-ensemble de SQL et peuvent faire face à des tables avec des milliers de colonnes et d'autres choses que l'utilisateur SQL ocasional ne sera pas attendre.
  • Matt Lilley améliorée support réseau de manière significative, y compris beaucoup mieux le support de SSL et le soutien général pour les deux HTTP et SOCKS des serveurs proxy.
  • Beaucoup de gens ont fourni des add-ons (paquets) qui reposent sur SWI-Prolog la version 7.

Ce qui est nouveau dans la version 7.2.1 / 7.3.3-dev:

  • Le nouveau type de dict et la syntaxe fournit à la fois des cartes de temps et d'espace efficace nom-valeur avec une syntaxe agréable.
  • En conséquence, il était nécessaire de remplacer le constructeur de liste (H, T) par le (également utilisé par Mercury) '[|] ». (H, T). Cela peut sembler drastique, mais en pratique, ne touche que quelques programmes, notamment faire foncteur (durée, F, A) sur les listes, puis en sélectionnant un traitement ultérieur sur F == '.', A == 2. Pour activer des listes plus dans un construction spéciale, [] est toujours la liste vide, mais ne sont plus les mêmes que «[]», à savoir, [] ne sont pas sur l'atome.
  • La syntaxe & quot; ... & quot; est maintenant mappé à cordes. Strings sont compatibles avec Eclipse (merci à Joachim Schimpf pour toutes les discussions). Listes de codes traditionnels sont construits en utilisant .... Les drapeaux double_quotes et back_quotes contrôlent ce comportement.
  • Merci à Torbjorn Lager, nous disposons de & quot; & quot ;, Pengines moteurs Prolog sur le web. Ceci fournit une API générique pour parler confortablement à un serveur Prolog à partir de JavaScript et d'autres instances Prolog. Il a permis SWISH, SWI-Prolog dans votre navigateur (http://swish.swi-prolog.org) ainsi que http://lpn.swi-prolog.org (En savoir Prolog Now! Avec SWISH embarqué).
  • Markus Triska ajouté clp (b), la contrainte solveur booléen, a amélioré son clp (fd) et était avant plusieurs améliorations au premier niveau face à des contraintes.
  • Merci à Matt et Mike Elston Lilley, il est CQL, un DSL (Domain Specific Language) pour traiter avec SQL. CQL est développé dans un environnement où les bases de données SQL complexes sont la norme et soutient donc un grand sous-ensemble de SQL et peuvent faire face à des tables avec des milliers de colonnes et d'autres choses que l'utilisateur SQL ocasional ne sera pas attendre.
  • Matt Lilley améliorée support réseau de manière significative, y compris beaucoup mieux le support de SSL et le soutien général pour les deux HTTP et SOCKS des serveurs proxy.
  • Beaucoup de gens ont fourni des add-ons (paquets) qui reposent sur SWI-Prolog la version 7.

Ce qui est nouveau dans la version 7.2.0 / 7.3.1-dev:

  • Le nouveau type de dict et la syntaxe fournit à la fois des cartes de temps et d'espace efficace nom-valeur avec une syntaxe agréable.
  • En conséquence, il était nécessaire de remplacer le constructeur de liste (H, T) par le (également utilisé par Mercury) '[|] ». (H, T). Cela peut sembler drastique, mais en pratique, ne touche que quelques programmes, notamment faire foncteur (durée, F, A) sur les listes, puis en sélectionnant un traitement ultérieur sur F == '.', A == 2. Pour activer des listes plus dans un construction spéciale, [] est toujours la liste vide, mais ne sont plus les mêmes que «[]», à savoir, [] ne sont pas sur l'atome.
  • La syntaxe & quot; ... & quot; est maintenant mappé à cordes. Strings sont compatibles avec Eclipse (merci à Joachim Schimpf pour toutes les discussions). Listes de codes traditionnels sont construits en utilisant .... Les drapeaux double_quotes et back_quotes contrôlent ce comportement.
  • Merci à Torbjorn Lager, nous disposons de & quot; & quot ;, Pengines moteurs Prolog sur le web. Ceci fournit une API générique pour parler confortablement à un serveur Prolog à partir de JavaScript et d'autres instances Prolog. Il a permis SWISH, SWI-Prolog dans votre navigateur (http://swish.swi-prolog.org) ainsi que http://lpn.swi-prolog.org (En savoir Prolog Now! Avec SWISH embarqué).
  • Markus Triska ajouté clp (b), la contrainte solveur booléen, a amélioré son clp (fd) et était avant plusieurs améliorations au premier niveau face à des contraintes.
  • Merci à Matt et Mike Elston Lilley, il est CQL, un DSL (Domain Specific Language) pour traiter avec SQL. CQL est développé dans un environnement où les bases de données SQL complexes sont la norme et soutient donc un grand sous-ensemble de SQL et peuvent faire face à des tables avec des milliers de colonnes et d'autres choses que l'utilisateur SQL ocasional ne sera pas attendre.
  • Matt Lilley améliorée support réseau de manière significative, y compris beaucoup mieux le support de SSL et le soutien général pour les deux HTTP et SOCKS des serveurs proxy.
  • Beaucoup de gens ont fourni des add-ons (paquets) qui reposent sur SWI-Prolog la version 7.

Quoi de neuf dans la version 6.6.6 / 01.07.37:

  • Traitement des # !, liaison un fichier à un interprète dans Unix ne cherche plus à être intelligent sur les options de traitement à l'interprète. L'effet de ce changement dépend des versions Unix:. Certains ne passent la première option, d'autres emballent toutes les options en une seule et d'autres encore passent les options après les casser
  • Le drapeau argv Prolog seulement fournit des arguments qui ne sont pas traitées par Prolog.
  • Le .plrc de fichier init (pl.ini sur Windows) est plus recherchées dans le répertoire de travail pour des raisons de sécurité.

Quoi de neuf dans la version 6.6.6 / 7.1.31:

  • Traitement des # !, liaison un fichier à un interprète dans Unix ne cherche plus à être intelligent sur les options de traitement à l'interprète. L'effet de ce changement dépend des versions Unix:. Certains ne passent la première option, d'autres emballent toutes les options en une seule et d'autres encore passent les options après les casser
  • Le drapeau argv Prolog seulement fournit des arguments qui ne sont pas traitées par Prolog.
  • Le .plrc de fichier init (pl.ini sur Windows) est plus recherchées dans le répertoire de travail pour des raisons de sécurité.

Ce qui est nouveau dans la version 6.4.0:

  • Mise à jour de la bibliothèque RDF à la version 3. Quiconque occupe RDF a été probablement déjà en utilisant la version de développement pour cette raison. Analyseurs rapides supplémentaires pour ntriples, formats de tortue et Trig.
  • Introduction de citation quasi pour l'inclusion en douceur et en toute sécurité des extraits de langue externes
  • Mise à niveau de PlDoc à accepter les constructions de démarques commune.
  • De nombreuses améliorations aux outils de développement, des bibliothèques de HTTP, forfait clib. etc. Meilleur support pour les processus démon Unix (syslog, UID gestion / GID, etc.)
  • Un départ pour la manipulation de paramètres régionaux (en charge le format / 3, écrit notamment de grands nombres entiers spécifiques régionaux.
  • Beaucoup de stabilité des trucs: accidents. fixes, patches de portabilité, de construire des améliorations du système, etc

Quoi de neuf dans la version 6.2.0:

  • La version initiale de la `pack 'gestionnaire de paquets
  • La gestion améliorée du fichier source, notamment WRT. : - Inclure (Fichier)
  • .
  • Beaucoup de correctifs pour le débogueur, l'amélioration de la manipulation de la source et de la logique qui décide quels ports sont cachés.
  • version de Windows construire maintenant en utilisant le projet de compilation MinGW, résultant en 10-20% accélération. Améliorations à swipl-win.exe console:. Copier / coller et support de la couleur

Ce qui est nouveau dans la version 6.0.0:

  • Dynamic juste-à-temps indexation sur plusieurs arguments .
  • Abstrait nombre des API de développement, en soutenant l'IDE PDT.
  • Beaucoup de nettoyage, des corrections de bugs, etc.

Ce qui est nouveau dans la version 5.11.20:.

  • Réduction de la consommation sentier de la pile
  • Fournir la collecte des ordures générationnelle.

Quoi de neuf dans la version 5.11.10:

  • Réduire l'utilisation trail-pile. (en partie)
  • Fournir la collecte des ordures générationnelle.

Quoi de neuf dans la version 5.11.9:

  • Réduire l'utilisation trail-pile. (en partie)
  • Fournir la collecte des ordures générationnelle.

Quoi de neuf dans la version 5.10.0:

  • Toutes les plates-formes utilisent désormais dénomination cohérente. L'exécutable SWI-Prolog est appelé swipl, le lieur swipl-ld et le gestionnaire resouce fichier swipl-rc.
  • Nouvelle pile de gestion de mémoire qui est basé sur la pile de décalage plutôt que d'allouer les piles à faible densité dans l'adresse de l'espace virtuel. Ce changement permet de beaucoup mieux évolutivité dans le nombre de threads, donc nous avons également supprimé l'ancienne limite thread-count de 100. La pile-limites peuvent maintenant être soulevées et réduits à l'exécution en utilisant set_prolog_stack / 2.
  • La valeur par défaut pile-size-limites sont maintenant de 128 Mo par pile sur 32 bits et 256 Mo sur le matériel 64 bits.
  • Vaste fuite et le stress-tests ont fixé un certain nombre de fuites et les conditions de course, rendant le système beaucoup plus robuste dans la configuration du serveur de 24x7.
  • Un premier pas a été fait pour éviter d'utiliser le C-pile pour récursion dans les termes. Cela permet le traitement beaucoup plus profondément imbriquées termes et prévoit une exception propre, même si les ressources sont insuffisantes pour traverser le terme. Il ya encore beaucoup à faire dans ce domaine.
  • SWI-Prolog 5.10.0 introduit des références sûres à des termes de base de données (assertz / 2, recordz / 3) et les ruisseaux (ouvrir / 3).
  • Le nombre de variables dans les clauses est désormais limitée à 1000000000; ce fut 65535. En outre, le système prévoit des exceptions gracieuses lorsqu'il rencontre-ressources erreurs ou d'essayer de faire valoir termes illégales comme termes cycliques.
  • Compatibilité à la fois YAP et SICStus est améliorée.

Quoi de neuf dans la version 5.8.2:

  • NETTOYAGE: mise en œuvre et la documentation de l'interface de signal.
  • FIXE:. Utiliser --nopce / - PCE pour (dés) permettant graphiques
  • FIXE: GC-bug; omettre décapage uwrite bits à partir de l'argument pile
  • MODIFIÉ: enlevé le drapeau abort_with_exception prologue; il est plus utilisé.
  • FIXE: éviter une impasse tout en essayant de quitter après une erreur fatale
  • .
  • MODIFIÉ: is_set / 1 utilise maintenant Trier / 2. En conséquence, les variables non partagés sont considérés comme différents éléments; l'ordre est N * log (N) et le prédicat peut retourner une ressource-erreur.
  • Correction: après: -.. module (x), effectuez but expansion relative au module x
  • NETTOYAGE: Item # 547:. citer correctement prédicats et alternatives undefined
  • DOC: Clarifier current_arithmetic_function / 1
  • .
  • DOC: Fournir la disponibilité snippit pour fonctions C
  • FIXE: simplification précédente administration corrompue variable du compilateur. Également ajouté cas-test.
  • Correction: # 436: unifier une variable avec lui-même crée une boucle de référence
  • .

Quoi de neuf dans la version 5.7.14:

  • FIXE: cross référence à distinguer: de 0 dans les déclarations méta-jacentes
  • NETTOYAGE: Utiliser meta_predicate pour predsort / 3
  • MODIFIÉ: Marque / 0 maintenant seulement balaye pour les références aux prédicats non définis dans les modules qui les contiennent. Le list_undefined / 0 toujours recherches à l'échelle mondiale.
  • RENFORCÉE: CLP (FD):. Arc-conforme global_cardinality / 2 si paires sont initialement sol
  • FIXE: Poignée (multifichier) prédicats dont certaines clauses ont leur corps dans un autre module et certains dans le même. Matt Lilley.
  • ajouté:% [& # x3C; n & # X3e;] f format pour format_time / 3 pour faire face avec des fractions de secondes. Utilisé par de nouvelles extensions de débogage.
  • ajouté: debug_message_context (+ | -Contexte) pour spécifier un contexte supplémentaire pour les messages de débogage (comme un horodatage)
  • .
  • FIXE: Faites apply_macros font l'expansion de son but dans le cadre du module du système
  • RENFORCÉE: CLP (FD): global_cardinality Faster / 2 si paires clé-Num sont broyés
  • .
  • FIXE: gérer opérateur priorité dans l'impression de réponse. Markus Triska.
  • RENFORCÉE: Utilisez les options d'impression de premier niveau pour objectifs résiduelles, la mise en œuvre de nettoyage
  • RENFORCÉE: Faites term_variables et term_attvars efficace si une liste est donnée (notamment term_attvars (terme, []))
  • .
  • RENFORCÉE: Faites base de données enregistrée utiliser nouveau code mandat de Walker
  • RENFORCÉE: Première configuration d'un squelette pour traverser des termes en utilisant une simple boucle plutôt que d'une procédure récursive. Maintenant en usage pour term_variables / 2 et prédicats connexes. Le schéma semble adéquat, mais le code de la pile segmenté doit être optimisée considérablement. Comme il est, term_variables / 2 est légèrement plus lent (5%), mais il peut gérer termes profondément imbriquées avec beaucoup moins de mémoire et sans débordements de pile.
  • ajouté: term_attvars / 2 pour un meilleur soutien des copy_term / 3. Après discussion avec Markus Triska.
  • ajouté: del_attrs / 1 pour supprimer * tous * les attributs. Simplifie copy_term / 3.

Ce qui est nouveau dans la version 5.7.12:

  • Amélioration des performances sur les programmes les plus importants est entre 10 et 40 %, en fonction du style de programmation. Notamment les solveurs de contraintes profitent de manière significative. Petits programmes montrent parfois beaucoup plus grandes accélérations.
  • Depuis 5.7.4, système de module mis à jour
  • Beaucoup de nettoyage dans la dénomination et la modularisation de la base de code.

Logiciel similaire

Apache SIS
Apache SIS

10 Feb 16

nbp
nbp

6 Jun 15

JSHint
JSHint

10 Apr 16

Commentaires à SWI-Prolog

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!