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: 16,044
(#latest) | Rating
(#votes/
#comments) | Title |
---|---|---|---|---|
tap | 1.0.326 | 5,87831 | Automated tests via Test Anything Protocol | |
list_util | 0.13.019 | 3,9021 | Predicates for working with lists | |
regex | 0.3.311 | 1,8301,435 | Regular expressions | |
mavis | 0.2.313 | 1,1092 | Optional type declarations | |
julian | 0.1.37 | 73814 | Date and time library | |
func | 0.4.28 | 393261 | Function application and composition | |
quickcheck | 0.3.017 | 1962 | QuickCheck randomized testing | |
spawn | 0.0.1 | 195 | Easy concurrency | |
function_expansion | 0.1.24 | 1605 | Help for writing function-like macros | |
djson | 0.0.32 | 152146 | Declarative JSON | |
dcg_util | 0.3.13 | 15232 | DCG utility predicates | |
interpolate | 0.1.02 | 1341 | String interpolation | |
atom_feed | 0.2.04 | 10389 | Parse Atom and RSS feeds | |
amazon_api | 0.0.32 | 8881 | Interface to Amazon APIs | |
delay | 0.3.37 | 8456 | Avoid instantiation errors for built-in predicates | |
sweet | 0.1.13 | 7974 | Sugar to make Prolog a little sweeter | |
maybe | 0.1.13 | 7471 | The maybe type represents an optional value | |
condition | 0.1.13 | 6957 | Condition system a la Common Lisp | |
bencode | 0.0.1 | 60 | Bencoding from BitTorrent protocol | |
roman | 0.1.0 | 53 | Roman numerals | |
julian_lang_en | 0.0.21 | 5049 | Parse English language phrases into library(julian) constraints | |
jolog | 0.0.31 | 4939 | Concurrency via join calculus | |
web | 0.1.11 | 4744 | Easy web client | |
lcs | 0.0.1 | 46 | Longest common subsequence | |
format_spec | 0.0.21 | 4645 | Parse and check format/2 specifications | |
uri_qq | 0.3.03 | 4534 | URI quasiquotations | |
semantria | 0.0.43 | 4030 | Use Semantria natural language API | |
chan | 0.2.0 | 37 | Directional channels for thread communication | |
thousands | 0.2.03 | 3631 | Thousands separator for large integers | |
readability_parser | 0.0.43 | 3223 | Readability Parser API | |
dotcloud | 0.0.21 | 3226 | Conveniences for running on dotCloud | |
unified_diff | 0.0.1 | 29 | Parse and generate unified diffs | |
miser | 0.0.1 | 28 | Build self-optimizing predicates | |
tidylog | 0.0.1 | 21 | ||
term_diff | 0.0.11 | 1816 | ||
nanp | 0.1.01 | 1514 | phone numbers in the North American Numbering Plan | |
pager | 0.1.01 | 131 | Send output to user's preferred pager | |
notes800 | 0.1.01 | 111 | Query phone number data from 800notes.com |