Did you know ... Search Documentation:
SWI-Prolog owl logoProgram Development Tools

Next to using any editor capable of editing plain text files and running SWI-Prolog in a separate window, the following possibilities exist:

Using GNU-Emacs

Unfortunately, standard GNU-Emacs Prolog mode is very weak, especially at handling proper Prolog indentation. The good news is that there is a better mode today. For more information, see the FAQ.

Using XPCE

In the long run, we want to move to an Integrated Development Environment (IDE) based on XPCE. Various parts of this environment already exist and are actively being used.

  • PceEmacs is a GNU-Emacs clone in XPCE/Prolog, providing Prolog syntax highlighting based on parsing and cross-referencing the editor buffer. Colouring highlights variables, quoted entities, comments, goals (classified as built-in, imported, local, dynamic and undefined), predicates (classified as local, public and unreferenced), and file references (classified as existend/non-existend). PceEmacs is started using the predicate emacs/[0,1].
  • The graphical tracer provides source-level debugging, using three views: your source, variable bindings, and the stack. The stack view includes choicepoints and visualises the effect of executing the cut!
  • The Execution Profiler provides a graphical overview of call and time statistics.
  • The Cross Referencer analyzes dependencies in the loaded program and points out undefined and unused code. It can also generate module headers and import directives based on the analysis.
  • The Prolog Navigator provides an explorer-like view on a directory holding Prolog source files. Sources files can be expanded in the tree to show predicates, exports, XPCE classes and methods. Can be used to edit entities or enable debugging them (spy).

The Windows Prolog console plwin.exe provides a menu to access many of these facilities directly.

We intend to allow the user to select preferred tools and combine them with whatever they like. In other words, we don't want to force the user into using a bulky all-in-one closed toolkit.

On Windows: using SWI-Prolog Editor

Gerhard Röhner has developed an integrated Prolog editor in MS-Windows following the conventions of this platform. The embedded SWI-Prolog provides functionality similar to PLWIN.EXE, including the possibility to run XPCE GUI programs.

Especially for classroom usage on MS-Windows, you should consider this version. The site also contains some demo material.

Eclipse based