SWI-Prolog is a comprehensive and portable implementation of the Prolog programming
language. SWI-Prolog aims to be a robust and scalable implementation supporting a
wide range of applications. In particular, it ships with a wide range of interface libraries,
providing interfaces to other languages, databases, graphics and networking. It provides
extensive support for managing HTML/SGML/XML and RDF documents. The system
is particularly suited for server applications due to robust support for multithreading and
HTTP server libraries.
1