This page provides a brief overview of the packages delivered as part of the SWI-Prolog official source-tree. Packages are libraries, often involving foreign parts, that can be installed on top of SWI-Prolog/lite, the plain Prolog compiler.
In addition to the packages described here there are contributed packages that are not part of the SWI-Prolog source-tree. Check the SWI-Prolog package home.
| Package | Status | Description | 
|---|---|---|
| pldoc | Installed (Beta) | JavaDoc like documentation system integrated with searchable manual. | 
| plunit | Installed (Beta) | Unit-test test framework. | 
| clib | Installed | Communication and Process management: TCP/IP sockets, Unix fork and kill, time and alarm management, crypto functions. | 
| ssl | Installed (beta) | Interface to SSL (Secure Socket Layer) | 
| tipc | Installed if supported (mostly Linux) (beta) | Interface to TIPC (Transparent Inter-Process Communications) sockets. | 
| cpp | Installed | A true C++ interface | 
| jpl | Installed (Beta) | Bidirectional Java/Prolog interface | 
| ODBC | Installed | ODBC Database interface | 
| sgml | Installed | Read and write XML/SGML/HTML documents | 
| sgml/RDF | Installed | RDF handling on top of pl2sgml | 
| semweb | Installed | Storing, querying and managment of RDF triple sets | 
| NLP | Installed | NLP basics: Porter stem, Double Metaphone | 
| http | Installed | HTTP client and server libraries | 
| table | Installed | Access field/record files quickly | 
| XPCE | Installed | Graphical UI toolkit and development add-ons | 
| Zlib | Installed | Compressed I/O, read/write gzip files. | 
| db | Alpha | BerkeleyDB interface | 
| jasmine | Alpha (Win32 only) | Jasmine OO database interface | 
| R | Alpha (Unix only) | Interface to the R Project for Statistical Computing | 
| ltx2htm | Not integrated, Unix only | LaTeX to HTML in Prolog. Used for manual and package documentation. | 
| mp | Not integrated | Arbitrary-precision arithmetic (GNU-MP). GMP integers and rationals are in the core. This library provides floats and complex numbers, but not integrated with Prolog arithmetic. |