SICStus Prolog Homepage WELCOME TO
SICStus Prolog
Leading Prolog Technology
  SICStus Home > The Spider IDE Download for Evaluation

SICStus Prolog IDE (SPIDER)

   \|//
   :-
   /|\\

SPIDER is the SICStus Prolog IDE, based on Eclipse. The latest update, 0.0.79, was released November 7, 2023.

Some Features of SPIDER
Some Features of SPIDER

Features

Some of the features are described below. See Tips and Tricks for more details.

Semantic Highlighting

Code is highlighted based on semantic properties such as singleton variables, defining occurrence, …

On the fly warnings

The editor flags things like calls to undefined predicates, unreachable predicates, incorrect use of predicates and directives, missing declarations, …. Some warnings come with quick-fixes, i.e. automatic source-code modifications that fix the warned-about issue.

Problem markers are also enabled for Prolog code that is not open in an editor.

Pop-up documentation

Predicate documentation is parsed on the fly and shown when the mouse is hovering over a call. This works for both built-in and user-defined predicates.

Related information, like mode/1 and block/1 directives and various inferred information (determinacy, output arguments) are also shown.

Open Definition

Click on a called predicate to bring up its source code.

It is also possible to manually enter the name of any predicate, with completion, and go to its source code.

Call Hierarchy

Clicking on a predicate can bring up a tree of its callers and other references.

Call Hierarchy

A light-weight version of this command, that just opens the closest caller of the current predicate, is also available.

Determinacy Analyzer

Predicates are analyzed, on the fly, for potential non-determinacy or non-termination.

Mode Analyzer

Predicates are analyzed, on the fly, and likely output arguments are shown when the mouse is hovering over the predicate in a goal.

Document outline

The predicates in a file are shown in an outline. They can be alphabetically sorted and non-exported predicates can be hidden from the outline.

Rename predicates and variables

Predicates can be accurately renamed in an entire project. Variables can be renamed within a clause or directive.

Change predicate signature

The number and order of arguments of a predicate can be changed, and all referencing code will be updated in an entire project. When adding new arguments, SPIDER warns that they must be assigned appropriate values.

Change Signature
Change Signature Dialog
Arguments can be added, removed, and rearranged
Change Signature Result
Existing argument position has been moved, added argument variables elicit warnings
Extract or inline predicate

Predicates can be created from selected code, and the code is replaced with a call to the new predicate (“Extract Predicate”). A call to a predicate can be inlined, i.e. replaced with the corresponding clause body.

Extract or inline variables

Variables can be introduced from a selected term; variables can be inlined, i.e. replaced with their value.

Variable Bindings in Debugger

The debugger shows the names and values of variables.

Debugger Backtrace

Backtrace is shown and there are buttons for common debugger actions (Step Over, Step Out, Redo, …).

Source Code Debugging

Source-linked debugging. This also works for code, like the SICStus library, that has no recorded source info.

Breakpoints and Spypoints

Line Breakpoints and Spypoints can be added by clicking in the left margin of the editor window.

Prolog top level

The ordinary top level is still available, with input history and completion. This includes the traditional debugger interface.

You can have multiple SICStus processes running, each in its own top level view.

Profiling

The Profile view shows profile information for code run with profiling enabled.

Coverage

The Coverage view view and editor margin annotation shows source code coverage information for code run with profiling enabled. This feature requires SICStus 4.2 or later.

Documentation

Integrated SICStus Manual and other documentation.

Works with existing code

No need to reorganize your code, SPIDER can work with your existing folder structure.

Powered by Eclipse

Eclipse provides many features for free, like support for other programming languages, revision control, and much more.