Did you know ... Search Documentation:
Packs (add-ons) for SWI-Prolog

Below is a list of known packages. Please be aware that packages are not moderated. Installing a pack does not execute code in the pack, but simply loading a library from the pack may execute arbitrary code. More information about packages is available here. You can search for packages from the Prolog command line using pack_list/1. This contacts the pack server for packs that match by name or title. A leading i indicates that the pack is already installed, while p merely indicates that it is known by the server.

?- pack_list(graph).
p callgraph@0.3.4           - Predicate call graph visualisation
i graphml@0.1.0             - Write GraphML files
i gvterm@1.1                - Show Prolog terms using graphviz
p musicbrainz@0.6.3         - Musicbrainz client library
p sindice@0.0.3             - Access to Sindice semantic web search engine

After finding the right pack, the pack and its dependencies can be installed using the pack_install/1 as illustrated below.

?- pack_install(hello).

Clicking the package shows details and allows you to rate and comment the pack.

Pack
tot: 38
Version
(#older)
Downloads
tot: 14,861
(#latest)
Rating
(#votes/
#comments)
Title
amazon_api0.0.328477
Interface to Amazon APIs
atom_feed0.2.0410288
Parse Atom and RSS feeds
bencode0.0.158
Bencoding from BitTorrent protocol
chan0.2.035
Directional channels for thread communication
condition0.1.136957
Condition system a la Common Lisp
dcg_util0.3.1314828
(1/1)
DCG utility predicates
delay0.3.378456
Avoid instantiation errors for built-in predicates
djson0.0.32152146
Declarative JSON
dotcloud0.0.213226
Conveniences for running on dotCloud
format_spec0.0.214645
Parse and check format/2 specifications
func0.4.28385253
(2/2)
Function application and composition
function_expansion0.1.241195
(1/1)
Help for writing function-like macros
interpolate0.1.021011
String interpolation
jolog0.0.314939
Concurrency via join calculus
julian0.1.3772814
Date and time library
julian_lang_en0.0.215049
Parse English language phrases into library(julian) constraints
lcs0.0.145
Longest common subsequence
list_util0.13.0193,7221
Predicates for working with lists
mavis0.2.3131,1032
Optional type declarations
maybe0.1.137471
The maybe type represents an optional value
miser0.0.128
Build self-optimizing predicates
nanp0.1.011514
phone numbers in the North American Numbering Plan
notes8000.1.01111
Query phone number data from 800notes.com
pager0.1.01131
Send output to user's preferred pager
quickcheck0.3.0171842
QuickCheck randomized testing
readability_parser0.0.433122
Readability Parser API
regex0.3.3111,8081,413
Regular expressions
roman0.1.053
Roman numerals
semantria0.0.434030
Use Semantria natural language API
spawn0.0.1190
Easy concurrency
sweet0.1.137873
Sugar to make Prolog a little sweeter
tap1.0.3265,04216
Automated tests via Test Anything Protocol
term_diff0.0.111614
thousands0.2.033530
(0/1)
Thousands separator for large integers
tidylog0.0.119
unified_diff0.0.128
Parse and generate unified diffs
uri_qq0.3.033928
URI quasiquotations
web0.1.114542
Easy web client