|This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. (June 2014) (Learn how and when to remove this template message)|
|Original author(s)||Jan Wielemaker|
|Developer(s)||Jan Wielemaker, Anjo Anjewierden, etc|
7.4.2 / 18 April 2017
7.5.13 / 18 August 2017
|Written in||C, Prolog|
|License||Simplified BSD, LGPL prior to version 7.3.33|
SWI-Prolog is a free implementation of the programming language Prolog, commonly used for teaching and semantic web applications. It has a rich set of features, libraries for constraint logic programming, multithreading, unit testing, GUI, interfacing to Java, ODBC and others, literate programming, a web server, SGML, RDF, RDFS, developer tools (including an IDE with a GUI debugger and GUI profiler), and extensive documentation.
SWI-Prolog has been under continuous development since 1987. Its main author is Jan Wielemaker.
The name SWI is derived from Sociaal-Wetenschappelijke Informatica ("Social Science Informatics"), the former name of the group at the University of Amsterdam, where Wielemaker is employed. The name of this group has changed to HCS (Human-Computer Studies).
Through the Pengines system SWI-Prolog queries may be distributed over several servers and web pages.
XPCE is a platform independent object oriented GUI toolkit for SWI-Prolog, Lisp and other interactive and dynamically typed languages. Although XPCE was designed to be language-independent, it has gained popularity most with Prolog. The development XPCE graphic toolkit started in 1987, together with SWI-Prolog.
PceEmacs is a SWI-Prolog builtin editor. PceEmacs is an Emacs clone implemented in Prolog (and XPCE). It supports proper indentation, syntax highlighting, full syntax checking by calling the SWI-Prolog parser, warning for singleton variables and finding predicate definitions based on the source-information from the Prolog database.
- Creating Web Applications in SWI-Prolog
- Wielemaker, Jan; Lager, Torbjorn (14 May 2014). "Pengines: WebLogic Programming Made Easy". Theory and Practice of Logic Programming. 14 (special issue 4-5): 539–552. doi:10.1017/S1471068414000192.
- Programming in XPCE/Prolog