XSB est le nom d'un dialecte du langage de programmation Prolog et son implémentation développée à l'Université Stony Brook en collaboration avec la Katholieke Universiteit Leuven , la Nouvelle Université de Lisbonne , l'Université d'Uppsala et le fournisseur de logiciels XSB, Inc.
XSB étend Prolog avec une résolution tabulaire et HiLog .
Caractéristiques
XSB est un dialecte compilé de Prolog basé sur la Warren Abstract Machine . Contrairement aux systèmes dérivés de Quintus , XSB utilise un système de modules basé sur les atomes Prolog . Il dispose d'une résolution tabulaire et prend en charge le langage HiLog (permettant une programmation logique d'ordre supérieur limitée ). La tabulation permet à XSB d'implémenter la sémantique bien fondée et le rend approprié comme moteur de base de données déductive . L' implémentation XSB open source comprend une interface avec le langage de programmation Python.
Histoire
XSB a été développé à l'origine à l'Université de Stony Brook par David S. Warren, Terrance Swift et Kostis Sagonas et lancé en 1993-4. Il était basé sur le langage SB-Prolog qui a également été développé à l'Université de Stony Brook en 1986, et c'était la première implémentation de la résolution tabulaire .
Syntaxe
XSB prend en charge les types de données Prolog mandatés par l'ISO, tels que les entiers , les nombres à virgule flottante et les atomes . Les entiers dans XSB peuvent être interprétés dans plusieurs bases. Par défaut, les entiers sont interprétés en base 10 , mais peuvent être interprétés dans une plage de bases allant de 2 à 36.