An XSB package is a piece of software that extends XSB functionality but is not critical to programming in XSB. Around a dozen packages are distributed with XSB, ranging from simple meta-interpreters to complex software systems. Some packages provide interfaces from XSB to other software systems, such as Perl, SModels or Web interfaces (as in the libwww package). Others, such as the CLP(R) and Flora packages, extend XSB to different programming paradigms.
Each package is distributed in the $XSB_DIR/packages subdirectory, and has two parts: an initialization file, and a subdirectory in which package source code files and executables are kept. For example, the xsbdoc package has files xsbdoc.P, xsbdoc.xwam, and a subdirectory, xsbdoc. If a user doesn't want to retain xsbdoc (or any other package) he or she may simply remove the initialization files and the associated subdirectory without affecting the core parts of the XSB system.
Several of the packages are documented in this manual in the various chapters that follow. However, many of the packages contain their own manuals. For these packages, we provide only a summary of their functionality in Chapter 11.