File: abstract.doc

package info (click to toggle)
swi-prolog 8.2.4%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 78,084 kB
  • sloc: ansic: 362,656; perl: 322,276; java: 5,451; cpp: 4,625; sh: 3,047; ruby: 1,594; javascript: 1,509; yacc: 845; xml: 317; makefile: 156; sed: 12; sql: 6
file content (31 lines) | stat: -rw-r--r-- 1,672 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SWI-Prolog is a comprehensive and portable implementation of the Prolog
programming language. SWI-Prolog aims to be a robust and scalable
implementation supporting a wide range of applications. In particular,
it ships with a wide range of interface libraries, providing interfaces
to other languages, databases, graphics and networking. It provides
extensive support for managing HTML/SGML/XML, JSON, YAML and RDF
documents. The system is particularly suited for server applications due
to robust support for multithreading and HTTP server libraries.

SWI-Prolog extends Prolog with \jargon{tabling} (SGL resolution).
Tabling provides better termination properties and avoids repetitive
recomputation. Following XSB, SWI-Prolog's tabling supports sound
negation using the \jargon{Well Founded Semantics}. \jargon{Incremental
tabling} supports usage as a \jargon{Deductive database}.

SWI-Prolog is designed in the `Edinburgh tradition'. In addition to the
ISO Prolog standard it is largely compatible to Quintus, SICStus and YAP
Prolog.  SWI-Prolog provides a compatibility framework developed in
cooperation with YAP and instantiated for YAP, SICStus, IF/Prolog and
XSB.

SWI-Prolog aims at providing a rich development environment, including
extensive editor support, graphical source-level debugger, autoloading,
a `make' facility to reload edited files and much more. GNU-Emacs,
SWI-Prolog editor for Windows, the PDT plugin for Eclipse or a Visual
Studio Code plugin provide alternative environments.
\href{https://swish.swi-prolog.org}{SWISH} provides a web based
environment.

This document gives an overview of the features, system limits and
built-in predicates.