Jump to content

SWI-Prolog: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
External links: WP:ELNO: other links can be found through main website
m Update preview release in infobox
Line 12: Line 12:
| latest release version = 7.2.3
| latest release version = 7.2.3
| latest release date = {{start date and age|2015|08|25}}
| latest release date = {{start date and age|2015|08|25}}
| latest preview version = 7.3.2
| latest preview version = 7.3.11
| latest preview date = {{start date and age|2015|06|04}}
| latest preview date = {{start date and age|2015|11|10}}
| frequently updated =
| frequently updated =
| programming language = C, Prolog
| programming language = C, Prolog

Revision as of 12:51, 2 December 2015

SWI-Prolog
Original author(s)Jan Wielemaker
Developer(s)Jan Wielemaker, Anjo Anjewierden, etc
Initial release1987
Stable release
7.2.3 / August 25, 2015; 9 years ago (2015-08-25)
Preview release
7.3.11 / November 10, 2015; 9 years ago (2015-11-10)
Repository
Written inC, Prolog
Operating systemCross-platform
Available inEnglish
TypeLogic programming
LicenseLGPL
Websiteswi-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).

Web Framework

SWI-Prolog installs with a web framework based on DCGs.[1]

Distributed Computing

Through the Pengines system SWI-Prolog queries may be distributed over several servers and web pages.[2]

XPCE

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

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

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

See also

References

  1. ^ Creating Web Applications in SWI-Prolog
  2. ^ 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.
  3. ^ Programming in XPCE/Prolog
  4. ^ [1]
  5. ^ [2]