From Wikipedia, the free encyclopedia
  (Redirected from XPCE)
Jump to: navigation, search
New SWI-Prolog logo
PceEmacs - Emacs clone in SWI-Prolog
Original author(s) Jan Wielemaker
Developer(s) Jan Wielemaker, Anjo Anjewierden, etc
Initial release 1987
Stable release 6.6.6 / May 28, 2014; 11 months ago (2014-05-28)
Preview release 7.1.37 / April 23, 2015; 24 days ago (2015-04-23)
Development status Actual
Written in C, Prolog
Operating system Cross-platform
Available in English
Type Logic programming
License LGPL
Website swi-prolog.org/

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 runs on Unix, Windows, Macintosh and Linux platforms.

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).


XPCE is a platform independent object oriented[1] 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.

It supports buttons, menus, sliders, tabs and other basic GUI widgets. XPCE is available for all platforms supported by 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.


JPL is a bidirectional interface between Java and Prolog.[2] It requires both SWI-Prolog and Java SDK.[3] It is installed as a part of SWI-Prolog.

See also[edit]


External links[edit]