SWI-Prolog v9.0.4.1 Gratuit
- Détails
- Écrit par : Mediaket
- Catégorie : Programmation et Web
- Également disponible en:
- Clics : 1528
SWI-Prolog est une implémentation polyvalente du langage Prolog. Bien que SWI-Prolog ait gagné sa popularité principalement dans l'éducation, son développement est principalement motivé par les besoins de développement d'applications...
Ceci est facilité par une interface riche avec d'autres composants informatiques en prenant en charge de nombreux types de documents et protocoles (réseau), ainsi qu'une interface complète de bas niveau vers C qui constitue la base des interfaces de haut niveau vers C++, Java (intégré), C# , Python, etc (disponible en externe).
Les extensions de type de données telles que les dicts et les chaînes ainsi que la prise en charge complète d'Unicode et d'entiers illimités simplifient l'échange fluide de données avec d'autres composants.
SWI-Prolog vise l'évolutivité. Sa prise en charge robuste du multithreading exploite efficacement le matériel multicœur et simplifie l'intégration dans des applications simultanées. Son indexation juste à temps (Just In Time - JITI) fournit un support transparent et efficace pour les prédicats avec des millions de clauses.
SWI-Prolog unifie de nombreuses extensions du langage de base qui ont été développées dans la communauté Prolog telles que les tables, les contraintes, les variables globales, l'affectation destructive, les continuations délimitées et les interacteurs.
SWI-Prolog offre une variété d'outils de développement, dont la plupart peuvent être combinés à volonté. Le système natif fournit un éditeur écrit en Prolog qui est un clone proche d'Emacs. Il fournit une mise en évidence sémantique basée sur l'analyse en temps réel du code par le système Prolog lui-même.
SWI-Prolog fournit un mécanisme complémentaire de distribution et d'installation appelé packs. Un pack est un répertoire avec des conventions d'organisation minimales et un fichier de contrôle qui décrit l'origine, la version, les dépendances et la prise en charge de la mise à niveau automatique.
Applications serveur :
SWI-Prolog est équipé d'un cadre étendu de serveur Web (HTTP) qui peut être utilisé à la fois pour fournir des services (REST) et des applications d'utilisateur final basées sur HTML5+CSS+JavaScript...
Prolog comme langage fédérateur :
Bien que Prolog soit largement reconnu comme un langage à usage spécial pour des tâches telles que l'évaluation de règles, il est considéré principalement comme une plate-forme pouvant être utilisée comme colle entre divers composants...
Liste des fonctionnalités:
Compilation rapide.
Robuste et sans fuites de mémoire.
Petit.
S'adapte bien aux grandes applications.
L'indexation juste-à-temps du code statique et dynamique sur n'importe quel argument simplifie grandement la gestion des relations multimodes avec de nombreuses clauses.
Arithmétique des nombres entiers et rationnels non bornés basée sur la bibliothèque GMP.
Les avantages : modules (compatibles en amont avec Quintus et SICStus), garbage collection (transparent au code C/C++, y compris le garbage collection d'atomes et de clauses), optimisation du dernier appel, expansion dynamique des piles d'exécution, gestion des exceptions (y compris interface C/C++ pour la capture et la levée d'exceptions).
Variables attribuées, coroutining (freeze/2, when/2, dif/2), variables globales, termes cycliques.
Gestion contrôlée par indicateur de la vérification des occurrences (faux/vrai/erreur)...
Gestion du jeu de caractères UNICODE interne.
Prise en charge du multi-threading.
Les moteurs, également connus sous le nom d'interacteurs, fournissent des coroutines qui peuvent être utilisées pour l'accumulation d'états et la simultanéité massive pour, par exemple, l'intelligence en essaim et les simulations.
Les continuations délimitées sont un bloc de construction puissant pour de nouvelles structures de contrôle et réalisent la programmation d'aspects.
La tabulation (résolution SLG) fournit une technique de résolution plus robuste pour résoudre des requêtes sur des règles interdépendantes complexes avec une terminaison garantie.
Après XSB, la série de développement 8.1.x fournit une sémantique bien fondée pour la négation ainsi qu'une tabulation incrémentielle pour mettre à jour automatiquement la tabulation affectée avec une base de connaissances changeante.
Pour windows 32 bit:
Taille: 12.59 MB - Télécharger
Pour windows 64 bit:
Taille: 12.55 MB - Télécharger