# SWI-Prolog packages

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.
protobufs | Installed | Interface to Google protobufs
PDT | Installed | Support for the PDT Eclipse plugin
R | Installed | Interface to the R-project for Statistical Computing
db | Alpha | BerkeleyDB interface
jasmine | Alpha (Win32 only) | Jasmine OO database interface
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.