
The following Comparison of Prolog implementations provides a reference for the relative feature sets and performance of different implementations of the
Prolog
Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics.
Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
computer
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
. A comprehensive discussion of the most significant
Prolog
Prolog is a logic programming language that has its origins in artificial intelligence, automated theorem proving, and computational linguistics.
Prolog has its roots in first-order logic, a formal logic. Unlike many other programming language ...
systems is presented in an article published in the 50-years of Prolog anniversary issue of the journal ''Theory and Practice of Logic Programming'' (TPLP).
Portability

There are Prolog
implementations that are radically different, with different syntax and different semantics (e.g. Visual Prolog)
and sub-communities have developed around different implementations.
[
Code that strictly conforms to the ISO-Prolog core language is portable across ISO-compliant implementations. However, the ISO standard for modules is an extension which was not fully adopted in most Prolog systems.][
Factors that can adversely affect portability include: use of bounded vs. unbounded integer arithmetic, additional types such as string objects, advanced numeric types (rationals, complex), feature extensions such as ]Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
, threads, and tabling. Use of libraries unavailable in other implementations and library organisation:[
]Currently, the way predicates are spread over the libraries and system built-ins differs enormously. ..Fortunately, there are only few cases where we find predicates with the same name but different semantics (e.g. delete/3
)
Main features
Operating system and web-related features
Static analysis
Optimizations
Release
Benchmarks
* Benchmarking issues
Odd Prolog benchmarking
Performance differences.
* Benchmarking software
Dobry's Benchmarks
!-- -->
Aquarius benchmark suite
(Bothe, 1990)
(Demoen et al. 2001)
benchmark descriptions
* Benchmarking results
XSB, SICStus vs Yap vs
* Benchmarking results
Survey of java prolog engines
by Michael Zeising
* Benchmarking results
OpenRuleBench yearly open-source benchmark of rule engines
Notes
References
{{reflist
External links
by Ulrich Neumerkel
Conformity assessment I: Syntax
Prolog programming language family
Software comparisons