English

SWI-Prolog

Programming Languages 2010-11-26 v1

Abstract

SWI-Prolog is neither a commercial Prolog system nor a purely academic enterprise, but increasingly a community project. The core system has been shaped to its current form while being used as a tool for building research prototypes, primarily for \textit{knowledge-intensive} and \textit{interactive} systems. Community contributions have added several interfaces and the constraint (CLP) libraries. Commercial involvement has created the initial garbage collector, added several interfaces and two development tools: PlDoc (a literate programming documentation system) and PlUnit (a unit testing environment). In this article we present SWI-Prolog as an integrating tool, supporting a wide range of ideas developed in the Prolog community and acting as glue between \textit{foreign} resources. This article itself is the glue between technical articles on SWI-Prolog, providing context and experience in applying them over a longer period.

Keywords

Cite

@article{arxiv.1011.5332,
  title  = {SWI-Prolog},
  author = {Jan Wielemaker and Tom Schrijvers and Markus Triska and Torbjörn Lager},
  journal= {arXiv preprint arXiv:1011.5332},
  year   = {2010}
}

Comments

30 pages, 6 figures, 1 table. To appear in Theory and Practice of Logic Programming (TPLP)

R2 v1 2026-06-21T16:48:21.205Z