SWI-Prolog 6.6.6 / 7.1.27 Development
A comprehensive Prolog environment that comes with advanced debugging features, code tracing and a set of specialized instructions that you can use
Relying on a Prolog virtual machine to define instructions, SWI-Prolog features a faster compiler and the debugging mode only reduces the system speed by a bit.
The application comes with a flexible and intuitive interface that enables you to work with C / C++ code, providing support for large applications and unlimited integer values without lowering performance.
Both static and dynamic code can be easily indexed on any argument, while the source-level debugger supports graphics through XPCE.
SWI-Prolog bundles a Prolog cross-referencer, an execution profiler to output instruction statistics, as well as an error checking tool. The package also includes a collection of libraries that programmers can find useful, namely components for constraint handling rules, interface libraries, HTML, RDF and XML parsers, a web server library for session management, HTML and HTTP authorization endeavors and so on.
The advanced debugging feature set comprises a spy point editor, an exception debugger, a thread monitor and a dependency management tool.
The program provides support for unicode character sets, which makes it suitable for creating web-based and multilingual applications.
Multi-threading support (run multiple prolog engines on the same database), compiled code tracing, a set of specialized instructions and built-in predicates, attributed and global variables, unit testing using PiDoc, support for creating LaTeX documentation are other advantages that this application brings you.
Featuring high compilation speed, SWI-Prolog can be of great use for Prolog programmers. Its array of features are enough to please the experienced users, since advanced programming knowledge is required in order to use it.
Reviewed by Mihaela Citea, last updated on November 28th, 2014
In a hurry? Add it to your Download Basket!
What's New in version 7.1.27 Development
- DOC: explain error conditions of nb_* predicates.
- ADDED: library(sandbox): declare copy_term/3 safe. Markus Triska.
- ADDED: library(sandbox): get_attrs/2 and term_attvars/2 are safe.
- MODIFIED: removed (undocumented) attribute_goal/2 hook, making attribute_goals//1 the only way to project attributes Previously, attribute_goal/2 was supported (though never documented and therefore not used anywhere) as well. Experience has shown that the DCG version is the only interface that is needed in practice. It also leads to more elegant code when several goals are produced.
Application descriptionSWI-Prolog is a tool based on a very simple Prolog virtual machine called ZIP that defines 7 instructions. Prolog can ...