SAL Home PROGRAM Languages & Compilers

SWI-Prolog: A comprehensive Edinburgh Prolog compiler

SWI-Prolog is a comprehensive Prolog implementation in the Edinburgh Prolog tradition. It consists of a virtual machine that is loosely based on the WAM (Warren Abstract Machine), which is implemented in ANSI-C, conditionally using GCC extensions to the C-language. SWI-Prolog concentrates on rapid development, compatibility and teaching Prolog. Features: (*) very fast (de)compiler (*) fast C-interface, calling both ways, transparent for garbage collector, support for non-deterministic calls both ways. (*) Quintus/SICStus compliant module system (*) garbage collector (*) dynamic stack expander (*) autoloader (*) profiler (*) claus indexing (*) last-call optimization (*) very few system limits and good scaling for large programs (*) GNU-Readline interface (*) ISO compliant exception handling (*) raising and catching Prolog exceptions from C.

GUI using XPCE, also including graphical source-level debugger (prototype).

Keywords: Prolog, compiler, logic programming, Horn clause, Edinburgh

Current Version:   3.4.0

License Type:   Free for non-commercial usage. In practice a licence is required if part of the system is distributed as part of a commercial application. Contact for details.

Home Site:

Source Code Availability:   Yes

Available Binary Packages:

Targeted Platforms:

All 32 or 64 bit Unix platforms (known to work: Linux, SunOs/Solaris, Irix, OSF/1, AIX, HPUX, FreeBSD, SCO/Unix), MS Windows 95, MS Windows NT.

Software/Hardware Requirements:

GNU-readline (optional), ANSI C-compiler (GCC is generally safest)

Other Links:

Mailing Lists/USENET News Groups:

To join the Mailing List, send mail to, specifying the Subject `subscribe' and no body.

User Comments:

  • None

See A Screen Shot? (Not Yet)

  SAL Home   |   Programming   |   Languages & Compilers

Comments? SAL@KachinaTech.COM
Copyright © 1995-2001 by Herng-Jeng Jou
Copyright © 1997-2001 by Kachina Technologies, Inc.
All rights reserved.