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

SPIDER Release History

Use Check for Updates in the Help menu to tell Eclipse to look for updates of SPIDER (and other installed features).

Current Release

SPIDER 0.0.79

Released November 7, 2023. Works with current versions of SICStus, and most earlier versions.

Note: For this release, Eclipse 2022-06 (4.24), or later, is required. We recommend that you always use the most recent version of Eclipse.

Note: For this release, Java 11, or later, is required.

The next release may require Java 17, or later. Note that recent Eclipse installers can download and install a private version of a suitable Java runtime, so you do not need to have a working Java installed. Please let us know if you have reasons to stay with older versions of the Java platform for running Eclipse.

New Features

This is a bug-fix release. There are no new features.

Bugs Fixed

  • The source code analysis is now much faster for code with many variables.

  • Various unspecified fixes and improvements.

Previous Releases

SPIDER 0.0.78

Released February 8, 2023. Works with SICStus Prolog 4.8, 4.7, and most earlier versions.

Note: For this release, Eclipse 2022-06 (4.24), or later, is required. We recommend that you always use the most recent version of Eclipse.

Note: For this release, Java 11, or later, is required.

New Features

  • “Smart Import” has been implemented. Importing Prolog code from directory, archive, or version control, will now automatically create a Prolog project.

Other Changes

  • The "Renumber Variables" refactoring can now work on a selection, or an entire clause or directive, renumbering all variables.
  • New and improved diagnostics.
  • Fixed a problem where memory usage could increase significantly when doing small edits to large projects.
  • Various unspecified fixes and improvements.

SPIDER 0.0.77

Released September 27, 2022. Works with SICStus Prolog 4.8, 4.7, and most earlier versions.

Note: For this release, Eclipse 2021-06 (4.20), or later, is required. We recommend that you always use the most recent version of Eclipse.

Note: For this release, Java 11, or later, is required.

New Features

  • Change Predicate Signature.

    It is now possible to add/remove/re-order arguments of a predicate, and automatically update all callers accordingly.

    This is a major new feature, please try it out!

  • Added several warnings related to do/2 loops.

Other Changes

  • Improved handling of Unicode. Made Unicode 15 the default version, to align with SICStus Prolog 4.8.
  • Reimplemented Rename Predicate refactoring. One visible change is that it can now rename to and from names that are operators.
  • Improved the code formatter
  • Various unspecified fixes and improvements.

SPIDER 0.0.76

Released February 21, 2022. Works with SICStus Prolog 4.7, 4.6, and most earlier versions.

Note: For this release, Eclipse 2021-06 (4.20), or later, is required. We recommend that you always use the most recent version of Eclipse.

Note: For this release, Java 11, or later, is required.

New Features

  • Added code formatter settings, e.g. for adding newlines after “(” and “->” in “( if -> then ; else )” constructs.

Other Changes

  • Improved the presentation of the built-in and library documentation in the “info-pop” hovers.

Bugs Fixed

  • Fixed some regressions in the new code formatter, e.g. when indenting “( if -> then ; else )” constructs with a newline before the “->”.
  • Some unspecified fixes and improvements.

SPIDER 0.0.75

Released January 17, 2022. Works with SICStus Prolog 4.7, 4.6, and most earlier versions.

Note: For this release, Eclipse 2020-06 (4.16), or later, is required. We recommend that you always use the most recent version of Eclipse.

Note: For this release, Java 11, or later, is required.

New Features

  • The code formatter, as used by e.g. the "Format Element" and the "Correct Indentation" commands, have been completely reimplemented for better-looking results.
  • It is now possible to format just part of the code by selecting a region before formatting.
  • The formatter is now used when refactoring code, so that e.g. inlined code is properly formatted.
  • When using "Introduce Variable" while selecting an expression, the variable will be defined using Var is … instead of plain Var = ….
  • Similarly, it is now possible to inline a variable that is defined using is/2.
  • When using the command Open Predicate (CMD+O) to show a predicate definition, the list of matching predicates now has exported predicates at the top of the list.
  • Various new source code diagnostics.

Other Changes

  • When formatting a single-line comment ("%…") the formatter will leave it as-is, e.g. without trimming redundant whitespace, if it has a minus sign after the leading percent sign(s), e.g. "%- redundant   spaces are preserved  ". This is similar to how "/*- … */" is handled.

Bugs Fixed

  • A large number of unspecified fixes and improvements.

SPIDER 0.0.74

Released December 20, 2021. Works with SICStus Prolog 4.7, 4.6, and most earlier versions.

Note: For this release, Eclipse 2020-03 (4.15), or later, is required. We recommend that you always use the most recent version of Eclipse.

Note: For this release, Java 8, or later, is required. Future versions will require Java 11, or later. This is a bug-fix release. There are no new features.

Bugs Fixed

  • Fixed incompatibilities with Eclipse 2021-12 (4.22.0). One symptom was that the SICStus top level could not be opened in SPIDER.

SPIDER 0.0.73

Released August 9, 2021. Works with SICStus Prolog 4.7, 4.6, and most earlier versions.

Note: For this release, Eclipse 2020-03 (4.15), or later, is required. We recommend that you always use the most recent version of Eclipse.

Note: For this release, Java 8, or later, is required.

New Features

  • When SICStus has been interrupted (e.g. with the pause button) and is waiting for input, SPIDER will now show a best-effort stack of ancestors, even if the Prolog debugger was not active. For stack entries corresponding to code that has not been compiled with source info, SPIDER will try to recover the correct source code location. The ancestor stack makes it much easier to determine what the program was doing when it was interrupted. Requires SICStus 4.7.
  • SPIDER will now show a checkmark on a breakpoint when SICStus thinks it will be able to break on the breakpoint location, e.g. a line breakpoint corresponding to a Prolog-side call instruction of some loaded code. Requires SICStus 4.7.
  • Prolog Search, i.e. search for a term, can now limit the search to the current editor window.
  • Open definition now accepts a clause specification, e.g. foo/2-4 will open the fourth clause of foo/2.
  • Improvements related to operators:
    • Improved diagnostics for certain syntax errors related to operators.
    • If an operator definition is missing, but available in some not loaded file, SPIDER will offer to insert a suitable load directive.
    • Hovering over an operator will describe its operator properties.
  • Various new source code diagnostics.

Other Changes

  • Improve what happens when you insert a newline in a comment. E.g, a newline in a single-line comment will start the new line too as a single-line comment.
  • Improved the inlining refactoring. Inlining now preserves the original layout of the inlined code. Many other improvements.
  • The Introduce Variable refactoring now puts the new variable closer to first use.
  • The automatic code formatting has been improved.

Bugs Fixed

  • A large number of unspecified fixes and improvements.

SPIDER 0.0.72

Released May 6, 2020. Works with SICStus Prolog 4.6, 4.5, and most earlier versions.

Note: For this release, Eclipse 2019-03 (4.11), or later, is required.

Note: For this release, Java 8, or later, is required.

New Features

  • New quick-fixes. Especially for various cases where SPIDER can make a heuristic guess about which file is referenced by a load directive, like use_module/2.

Other Changes

  • Improvements to how the “preloaded code” feature works. If you do not know what that is, you are not affected.
  • The experimental Language Server support (introduced in 0.0.70) has been temporarily removed. Please contact us if you want to try it out.

Bugs Fixed

  • A large number of unspecified fixes and improvements.

SPIDER 0.0.71

SPIDER 0.0.71 was not publicly released.

SPIDER 0.0.70

Released November 1, 2019. Works with SICStus Prolog 4.6, 4.5, and most earlier versions.

Note: For this release, Eclipse 4.9 (a.k.a. 2018-09), or later, is required.

Note: For this release, Java 8, or later, is required.

New Features

  • Several new warnings and quick-fixes.
  • Experimental support for running SPIDER as a Language Server. This is very much a work in progress, contact us if you want to try it out.

Other Changes

  • The code formatter is now more reluctant to insert newlines around cut (!/0).

Bugs Fixed

  • Unspecified fixes and improvements.

SPIDER 0.0.69

Released April 3, 2019. Works with SICStus Prolog 4.5 and most earlier versions.

Note: For this release, 4.9 (a.k.a. 2018-09), or later, is required.

Note: For this release, Java 8, or later, is required.

New Features

  • Improvements to the Profile and Coverage functionality
    • The Profile and Coverage views can now export and import their data. This also means that you can export the result of profile_data/1 or coverage_data/1 and later load it into SPIDER.
    • The Profile view has gained improved filtering that helps focusing on your own code, and on unwanted non-determinism. The default filter scope will now only show non-SICStus code.
  • Open Call Hierarchy on a file (e.g. in the Project Explorer, or the file argument of a ensure_loaded/1 directive) now shows which files load the file (as before) but also the predicates in the file that are called from outside the file.
  • A new refactoring command, Introduce Module Directive, will create a module/2 directive, with an export list based on how the predicates in the file are used by other files.
  • Added a quick-fix for an undefined symbolic path that defines it using the heuristically found path.
  • Added detection of even more problems.

Bugs Fixed

  • A memory leak would cause SPIDER to use more and more memory when editing mutually recursive files. This would eventually make Eclipse hang, or run out of memory, during long editing sessions.
  • Some unspecified fixes and improvements.

SPIDER 0.0.68

Released February 19, 2019. Works with SICStus Prolog 4.5 and most earlier versions.

Note: For this release, 4.9 (a.k.a. 2018-09), or later, is required.

Note: For this release, Java 8, or later, is required.

New Features

  • Heuristically resolves undefined symbolic paths. E.g. a load directive like :- use_module(my_files(foo)). will now figure out which file is intended, if there is a file name foo.pl in the project.
  • Added detection of even more problems.

Other Changes

  • The core indexing mechanism has been completely redesigned. Indexing is what tells SPIDER which predicates are defined, who calls them, etc.. Please let us know if something behaves in undesirable ways.

    The new indexer should have the following benefits:

    • SPIDER is better at finding the defined predicates and the callers of predicates. This should lead to fewer cases where SPIDER incorrectly complains about an undefined or unreachable predicate.
    • In some cases the processing step "Collecting Prolog Problems" is much faster.

Bugs Fixed

  • A memory leak would cause SPIDER to use more and more memory. This would eventually make Eclipse hang, or run out of memory, during long editing sessions.
  • SPIDER now correctly warns about using predicates, like name/2, that have been marked as deprecated. (Don't worry, we have no plans to remove name/2.)
  • Many unspecified fixes and improvements.

SPIDER 0.0.67

Released December 11, 2018. Works with SICStus Prolog 4.2, 4.3, 4.4, and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.7 (a.k.a. Oxygen), or later, is required. Eclipse 4.9 (a.k.a. 2018-09) is recommended.

Note: For this release, Java 8, or later, is required.

New Features

No major new features.

Bugs Fixed

  • Eclipse could hang.
  • Many fixes and improvements to code formatting.
  • Improvements and fixes to how multifile predicates and hooks are handled. E.g., multifile predicates should no longer be incorrectly reported as unreachable.
  • The content of huge files will not be read before deciding that the file is too large to process.
  • Eclipse is now more responsive if Prolog outputs a large amount of text to the top level.
  • Many other fixes and improvements.

SPIDER 0.0.66

Released March 5, 2018. Works with SICStus Prolog 4.2, 4.3, 4.4, and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.7 (a.k.a. Oxygen), or later, is required.

Note: For this release, Java 8, or later, is required.

New Features

  • A new code formatter. This is used when formatting program text, like clauses, and when extracting predicates.

    The code formatter uses the Emacs settings for indent width, indent after parenthesis, and comment column. Other than that, it is currently not very configurable, please let us know if it is too far from your code style.

  • SPIDER now reads Emacs-style Per-Directory Local Variables. This makes it easy to ensure consistent formatting between developers, regardless of whether they use Emacs or SPIDER, without modifying any source files.

    A file, named .dir-locals.el in the same (or an ancestor-) directory as a Prolog file will be used for settings that are not present as a -*- ... -*- line in the Prolog file. E.g.

    ;; This should go in a .dir-locals.el file
    (
     (prolog-mode .
                  (
                   ;; These correspond to the SPIDER defaults
                   (indent-tabs-mode . nil)
                   (tab-width . 8)
                   (prolog-indent-width . 8)
                   (prolog-paren-indent . 4)
                   (comment-column . 32)
                   ))
     )
        
  • CTRL+ALT+ UP/DOWN now navigates to the previous/next clause in the editor.
  • Completion now works for variable names.
  • New warnings and quick-fixes.

Other Changes

  • The determinacy analyzer now assumes that floats and large integers are precisely indexed, as they are in SICStus Prolog 4.4. This can be changed in the SPIDER Preferences, on the "Internals" tab, to reflect how older versions of SICStus treated these numbers.
  • It is now easier to select goals when extracting a predicate from selected goals. Typically you can just select entire lines, even if it selects some text that should not go in the extracted predicate.

Bugs Fixed

  • Eclipse could hang during editing.
  • Very deep nested control structures could cause errors.
  • A large number of other fixes and improvements.

SPIDER 0.0.64

Released February 24, 2017. Works with SICStus Prolog 4.2, 4.3, 4.4, and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.6 (a.k.a. Neon), or later, is required.

Note: For this release, Java 8, or later, is required.

New Features

  • “Inline” (in the “SICStus” menu) inlines the called predicate if the cursor is at a goal; it inlines the value of a variable if the cursor is at a variable.
  • The info-pop that shows when the mouse is hovering over a predicate will now show documentation for other arities with the same name, if the predicate has no documentation of its own.
  • When running the debugger, hovering over a variable in the Prolog editor with the mouse will show its value if it is available in any stack frame.
  • The Toplevel view has commands for setting the working directory of the Prolog sub-process.

Bugs Fixed

  • Setting a breakpoint could hang the SPIDER user interface.
  • Searching for SICStus Prolog installations could get stuck in symbolic link loops in the file system.
  • Various fixes and improvements.

SPIDER 0.0.63

Released January 23, 2017. Works with SICStus Prolog 4.2, 4.3, and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.6 (a.k.a. Neon), or later, is required.

Note: For this release, Java 8, or later, is required.

New Features

  • “Extract Predicate” (in the “SICStus” menu) creates a new predicate based on the selected goals, and replaces the goals with a call to the new predicate.

Bugs Fixed

  • The speed of the source code analysis has been improved, especially for clauses with many variables.
  • Various fixes and improvements.

SPIDER 0.0.62

Released December 8, 2016. Works with SICStus Prolog 4.2, 4.3, and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.6 (a.k.a. Neon), or later, is required.

Note: For this release, Java 8, or later, is required.

New Features

  • Added some navigation commands. See the “Go To” sub-menu in the “Navigate” menu.
  • “Show Tooltip Description” (in the “Edit” menu) brings up the same information as when hovering with the mouse.
  • It is now possible to associate a symbolic file search path name with more than one path. See the ”File Search Paths“ tab in the Preferences.

Bugs Fixed

  • Various fixes and improvements.

SPIDER 0.0.61

Released November 28, 2016. Works with SICStus Prolog 4.2, 4.3, and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.6 (a.k.a. Neon), or later, is required.

Note: For this release, Java 8, or later, is required.

New Features

  • SPIDER tries to auto-detect default indent and SPACE vs. TAB indent convention. This should increase the likelihood that SPIDER does the right thing by default when editing a file that has no Emacs-style mode line.
  • Some additional quick-fixes. A problem with a quick-fix is marked with a light bulb in the margin of the Prolog editor.
  • Several commands for expanding the selection. See the “Expand Selection To” sub-menu in the “Edit” menu.

Bugs Fixed

  • Various fixes and improvements.

SPIDER 0.0.60

Released October 14, 2016. Works with SICStus Prolog 4.2, 4.3, and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.6 (a.k.a. Neon), or later, is required.

Note: For this release, Java 8, or later, is required.

New Features

  • Quick-fixes are now available for some of the problems detected by SPIDER. A problem with a quick-fix is marked with a light bulb in the margin of the Prolog editor.

    We expect to add more quick-fixes in the future. Please contact us if you have any suggestions.

  • Some new refactorings:
    • Inline Variable: Replace the selected variable with its value everywhere in the clause or directive.
    • Introduce Variable: Replace the selected term with a variable that is bound to the value.
    • Linearize Arguments: Ensure that each argument position is a variable that does not occur elsewhere in the clause head.
    • Renumber Variables: Renumber the selected variable and other similarly named ("Var", "Var47", ...) to be numbered consecutively.
    • Move Goal Earlier: Exchange the current goal with that to its left in the same conjunction.
    • Move Goal Later: Exchange the current goal with that to its right in the same conjunction.
    These refactorings are available from the Source menu and the Prolog context menu in the Prolog editor.

    We expect to add more refactorings in the future. Please contact us if you have any suggestions.

Bugs Fixed

  • SPIDER could lock up when editing Prolog code.
  • Other fixes and improvements.

SPIDER 0.0.59

Released August 8, 2016. Works with SICStus Prolog 4.2, 4.3, and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.5 (a.k.a. Mars), or later, is required. Eclipse 4.6 (a.k.a. Neon) is recommended.

Note: For this release, Java 7, or later, is required. Java 8 is recommended.

New Features

  • Renaming a variable (CTRL-ALT-R) is now done directly in the editor. It does not put up a refactoring wizard dialog.

Bugs Fixed

  • Several issues related to indenting/formatting. The most serious bug could cause the IDE to hang when editing files on Windows.
  • Other fixes and improvements.

SPIDER 0.0.57

Released May 20, 2016. Works with SICStus Prolog 4.2, 4.3, and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.5 (Mars), or later, is required.

Note: For this release, Java 7, or later, is required. Java 8 is recommended and will be a requirement later this year (2016).

New Features

  • It is now possible to configure some settings related to code formatting (indentation).
  • Emacs "Local variables" specified in the -*- ... -*- line at the top of the file can now specify some code formatting variables, so that the file can be edited with both SPIDER and with Emacs with the same code formatting settings.

    To see the supported variables, use the "New Prolog File" wizard; it will create a file with all supported Emacs variables filled in from the settings. The "New Prolog File" wizard can be accessed from the File menu, under New/Other/Prolog/Prolog File.

  • It is now possible, although not recommended, to use TAB characters instead of space when indenting. This is mainly intended for those who also use Emacs (which by default uses TAB characters when indenting).
  • You can now specify in the settings that UTF-8 should be used (instead of Latin 1) for new files.
  • In the top level, the ENTER key moves the cursor to the end of the input area. This makes it much easier to find the end of the input area. Pressing the key again will, as usual, send the text of the input area to Prolog.

Bugs Fixed

  • Some issues related to indenting/formatting.
  • Other fixes and improvements.

SPIDER 0.0.56

Released April 1, 2016. Works with SICStus Prolog 4.2.0, 4.2.1, 4.2.3, 4.3.0, 4.3.1, 4.3.2 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.5 (Mars), or later, is recommended. Eclipse 4.5 will be a requirement in the next release but the current release should also work with Eclipse 4.4 (Luna)).

Note: For this release, Java 7, or later, is required.

New Features

  • New command: Select Outer Element. Selects the enclosing clause or directive.

    Repeated application selects successively larger units (associated comments, predicate, etc.).

    The command Select Outer Element is available on CTRL-SHIFT-A (CMD-SHIFT-A on macOS).

  • New command: Format Element that formats all lines of the enclosing clause or directive (formatting is currently restricted to indenting all the relevant lines).

    The command Format Element is available on CTRL-SHIFT-F (CMD-SHIFT-F on macOS).

Bugs Fixed

  • Many issues related to indenting/formatting.
  • Other fixes and improvements.

SPIDER 0.0.55

Released May 19, 2015. Works with SICStus Prolog 4.2.0, 4.2.1, 4.2.3, 4.3.0, 4.3.1, 4.3.2 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.4 (Luna), or later, is required.

The recommended version of Java is Java 7 or later, but Java 6 should still work. Note: This release is the last to support Java 6. Future versions will require Java 7.

This is a bug-fix release. There are no significant new features.

Bugs Fixed

  • A performance problem introduced in 0.0.54 made SPIDER slow when processing large files.
  • Other fixes and improvements.

SPIDER 0.0.54

Released February 9, 2015. Works with SICStus Prolog 4.2.0, 4.2.1, 4.2.3, 4.3.0, 4.3.1 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: For this release, Eclipse 4.4 (Luna), or later, is recommended. Eclipse 4.4 will be a requirement in the next release but the current release should also work with Eclipse 4.3.1 (Kepler)).

The recommended version of Java is Java 7 or later, but Java 6 should still work. Note: This release may be the last to support Java 6. Future versions may require Java 7.

New Features

  • SPIDER can now auto-detect the installed SICStus Prolog(s) and automatically configure itself to use a found SICStus Prolog. The Prolog Reference project is now created or updated automatically when the used SICStus Prolog is changed.
  • The Prolog top level starts automatically, if a working SICStus Prolog is found.
  • Some support for Finite Domain Predicates (indexicals).
  • New warnings and code analyses.

Bugs Fixed

  • Various fixes and improvements.

SPIDER 0.0.52

Released August 7, 2014. Works with SICStus Prolog 4.2.0, 4.2.1, 4.2.3, 4.3.0 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 4.3.1, or later.

The recommended version of Java is Java 7 or later, but Java 6 should still work. Note: This release may be the last to support Java 6. Future versions may require Java 7.

New Features

  • No major new features.

Bugs Fixed

  • A bug in SPIDER broke completions in some other Eclipse plug-ins, e.g. Sirius.
  • Various fixes and improvements.

SPIDER 0.0.51

Released March 12, 2014. Works with SICStus Prolog 4.2.0, 4.2.1, 4.2.3, 4.3.0 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 4.3.1, or later.

The recommended version of Java is Java 7 but Java 6 should still work. Note: This release may be the last to support Java 6. Future versions may require Java 7.

New Features

  • The Prolog top level now has word- and predicate-completion and filters the history commands based on partial input.
  • A “Prolog Search” has been added to the Eclipse Search dialog. It searches for terms subsumed by a pattern.

Bugs Fixed

  • Various fixes and improvements.

SPIDER 0.0.49

Released November 4, 2013. Works with SICStus Prolog 4.2.0, 4.2.1 and 4.2.3 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

The recommended version of Eclipse is Eclipse Standard 4.3.1 or later but Eclipse Classic 3.7 should still work. Note: This is the last release to support Eclipse 3.x. Future versions will require Eclipse 4.3.1 or later.

The recommended version of Java is Java 7 but Java 6 should still work. Note: This release may be the last to support Java 6. Future versions may require Java 7.

New Features

  • The Prolog parser is now fully compatible with SICStus.

    SPIDER now supports operators that are declared both infix and postfix. This is disallowed by the ISO Prolog standard.

    This was the last major difference between SPIDER and SICStus syntax. Please report any remaining cases where SPIDER does not accept the same syntax as SICStus.

  • The SPIDER parser now is aligned with ISO Prolog Technical Corrigendum 2 (ISO/IEC 13211-1:1995/Cor.2:2012). I.e. new operators etc.
  • New warnings.
  • New semantic highlightings.
  • It is now possible to specify system properties that should be passed to SICStus Prolog when starting a top level.
  • The preferences now have a size limit so that huge (data-) files can be ignored automatically.

Bugs Fixed

  • Various fixes and improvements.

SPIDER 0.0.45

Released January 25, 2013. Works with SICStus Prolog 4.2.0, 4.2.1 and 4.2.3 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 3.7, or later. Eclipse 4.2.1 or later is preferred.

Note: This release requires Java 6 or later.

New Features

  • The Prolog parser is more compatible with SICStus. In particular, ISO disallows operators as arguments to operators, e.g. (+ = +) is invalid according to the ISO standard but it is accepted by SICStus. SPIDER now accepts this syntax extension which should make it even easier to use SPIDER with existing code. Please report any remaining cases where SPIDER does not accept the same syntax as SICStus.

Bugs Fixed

  • The highlighting of a variable's first occurrence did not work in 0.0.44.
  • Speed improvements. On a large test case, involving several large Prolog projects, the “Collecting Prolog Problems”-phase went from almost an hour to a little over a minute. (This improvement was already in 0.0.44 but was not documented when that version was released).
  • Many other fixes and improvements.

SPIDER 0.0.44

Released January 15, 2013. Works with SICStus Prolog 4.2.0, 4.2.1 and 4.2.3 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 3.7, or later. Eclipse 4.2.1 or later is preferred.

Note: This release requires Java 6 or later.

New Features

  • Global rename of predicates (CTRL-ALT-R). Renames a predicate and all references within the project and related projects. Optionally rename all arities of the predicates. Optionally rename only in the current file.
  • Local rename of variable (CTRL-ALT-R). Rename a variable within a clause or directive.
  • Open Predicate (CTRL-O). Type in a name to open the definition of any predicate in the project.
  • Mode inference. The info-pop with documentation that appears when the mouse is hovering over a predicate now includes information about likely output argument positions.

Bugs Fixed

  • Speed improvements. On a large test case, involving several large Prolog projects, the “Collecting Prolog Problems”-phase went from almost an hour to a little over a minute.
  • Many other fixes and improvements.

SPIDER 0.0.42

Released October 8, 2012. Works with SICStus Prolog 4.2.0, 4.2.1 and 4.2.3 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

This is a bug-fix release only. No new features have been added.

Note: This release requires Eclipse 3.7, or later. Eclipse 4.2.1 or later is preferred.

Note: Future releases of SPIDER will not support Java 5. Most users are already using Java 6 or Java 7 so this should not be a problem.

Bugs Fixed

  • On Eclipse 4.2.x the Prolog editor keybinding sometimes disappeared.
  • The variable values in the debugger bindings view are now written in a more readable way.
  • Some minor improvements.

SPIDER 0.0.41

Released July 5, 2012. Works with SICStus Prolog 4.2.0, 4.2.1 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

This is a bug-fix release only. No new features have been added.

Note: This release requires Eclipse 3.7, or later. Eclipse 4.2 or later is preferred.

Bugs Fixed

  • An initialization issue that affected some users.
  • The pop-up documentation for predicates did not work. This bug was introduced in 0.0.40.

SPIDER 0.0.40

Released June 25, 2012. Works with SICStus Prolog 4.2.0, 4.2.1 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 3.7, or later.

New Features

  • Handle block/1 directive, including some argument validation.
  • Improved handling of when/2. The condition argument is now validated.

Bugs Fixed

  • Some improvements and fixes.

SPIDER 0.0.39

Released June 14, 2012. Works with SICStus Prolog 4.2.0, 4.2.1 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 3.7, or later.

New Features

  • There are no major new features.

Bugs Fixed

  • It was not possible to set line breakpoints. This bug was introduced in 0.0.38.
  • A few other improvements and fixes.

SPIDER 0.0.38

Released March 15, 2012. Works with SICStus Prolog 4.2.0, 4.2.1 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 3.7, or later.

New Features

  • There are no major new features.

Bugs Fixed

  • On Windows, it was not possible to start a SICStus toplevel from SPIDER when the Windows Remote Management service was running. To avoid this issue SPIDER no longer uses a fixed TCP/IP port, by default, when communicating with SICStus.
  • A few other improvements and fixes.

SPIDER 0.0.37

Released February 1, 2012. Works with SICStus Prolog 4.2.0, 4.2.1 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 3.7, or later.

New Features

  • There are no major new features.

Bugs Fixed

  • The include/1 directive is now handled more faithfully and no longer gives a warning in the editor.
  • The determinacy analyzer did the wrong thing in some cases.
  • Several null pointer exceptions.
  • Several other improvements and fixes.

SPIDER 0.0.34

Released September 5, 2011. Works with SICStus Prolog 4.2.0 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This is the last release to support Eclipse 3.6.

New Features

  • A determinacy analyzer, similar in scope to the Determinacy Checker library and the spdet tool. Determinacy and non-determinacy are inferred on the fly and the information is used for generating problem markers and in the pop-up documentation for predicates.
  • Warnings for incorrect use of meta arguments.

    Argument positions that have been declared as closures or meta arguments, using meta_predicate/1 directives, are now tracked. Potentially incorrect use, e.g. passing an incoming non-meta argument as a meta-argument to a called predicate, can generate warnings. Most warnings are turned off by default and must be enabled in the Errors/Warnings preferences.

  • The syntax highlighter has been reworked and its behavior can now be changed from the preferences.
  • When the cursor is in a variable, all occurrences of the variable in the clause are highlighted. This new behavior is on by default but can be turned off from the preferences.
  • Open Definition now works for variables and goes to the first occurrence of the variable in the clause.
  • Several new warnings.

Bugs Fixed

Several improvements and fixes.

SPIDER 0.0.33

Released May 30, 2011. Works with SICStus Prolog 4.2.0 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 3.6.

New Features

  • New Command: Open Local Caller (SHIFT-CTRL-ALT-H) will go to the closest caller of the current predicate.
  • Line wrap for the Prolog Top level view.
  • A preference page for Errors and Warnings.
  • The info-pop shown when ohovering over a (non-library) goal now shows more information, in addition to the documentation. The extra information includes the source code of the called predicate and any mode/1 or meta_predicate/1 declaration.
  • The command Open Definition now tries to do the right thing when the name, but not the arity, matches an existing definition.
  • Several new warnings.

Bugs Fixed

  • Incorrect source location for some stack entries in the Debug view.
  • Stack overflow when requesting profile or coverage data from Prolog.
  • Several problems with linked files, linked folders, and virtual folders.
  • Several cases of Null Pointer Exception.
Several other improvements and fixes.

SPIDER 0.0.28

Released March 8, 2011, together with SICStus Prolog 4.2.0. Works with SICStus Prolog 4.2.0 and with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 3.6.

This release is for compatibility with the final version of SICStus Prolog 4.2.0. Some bugs have been fixed but no new features have been added since 0.0.26 (which added support for SICStus Prolog 4.2 features).

See the New Features in 0.0.26, below, for information about the support for new SICStus Prolog 4.2 features like Profiling and Source Code Coverage.

SPIDER 0.0.27

Released January 20, 2011. Works with SICStus Prolog 4.1.3 and with SICStus Prolog 4.2.0 beta 1. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 3.6.

This is a bug-fix release, fixing a single problem with the help system. No new features have been added.

Bugs Fixed

  • The online help would report “Topic not found” when browsing the SICStus documentation from within Eclipse. This problem has only been observed on Windows.

SPIDER 0.0.26

Released November 23, 2010. Works with SICStus Prolog 4.1.3 and with SICStus Prolog 4.2.0 beta 1. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This release requires Eclipse 3.6.

New Features

  • Support for profiling. A Profile view is available from the SICStus menu and the Prolog context menu. Use the refresh button to fetch and display the latest profile info from the Prolog process.

    Works with SICStus 4.1.3 and, with improved functionality, with SICStus 4.2 (currently in beta).

  • The SPIDER prolog parser now uses the same character classification as SICStus, i.e. a large subset of Unicode now works. SPIDER also understands set_prolog_flag(legacy_char_classification, on) (and off) when used as a directive.
  • SPIDER now understands coding:CHARSET in the initial Emacs-style -*- ... -*- line.
  • Most of the SICStus documentation, e.g. the SICStus Prolog Manual, is now picked up from the configured SICStus installation instead of being embedded in SPIDER.

New Features for SICStus 4.2

The following new features require SICStus Prolog 4.2.0 (currently in beta testing).
  • Support for source code coverage. A Coverage view is available from the SICStus menu and the Prolog context menu. Use the refresh button to fetch and display the latest coverage info from the Prolog process.

    The left margin of the Prolog Editor shows coverage info by default. The margin annotations can be shown and hidden from the margin context menu. The coverage info in the editor is updated when the Coverage view is refreshed.

  • The debugger shows more variable names for code compiled with source information.

Bugs Fixed

  • The first argument of read_term/2 was incorrectly treated as a stream and generated warnings.
  • A memory leak has been plugged. SPIDER should now be able to handle much larger source code trees using the standard Eclipse memory configuration. More memory still improves speed, though.
  • The variable view in the debugger sometimes did not update automatically.
  • The Prolog Indexer would follow symbolic links in some cases when it should not. You still should avoid symbolic links in directory trees seen by SPIDER and by Eclipse in general.
  • Closing the Toplevel View could cause a state where the Open Toplevel command had no effect.
Several other improvements and fixes.

SPIDER 0.0.23

Released September 23, 2010. Works with SICStus Prolog 4.1.3. Most features should work with earlier releases of SICStus Prolog 4.1.x.

Note: This is the last release to support Eclipse 3.5.

New Features

  • Call Hierarchy shows references to a selected predicate or file.

    Currently only works for Prolog files that are part of a project. See Known Issues.

  • New key bindings:
    Binding Function macOS Binding
    ALT-K Compile Prolog Code ALT-K
    CTRL-ALT-Q C Open Prolog Toplevel CMD-ALT-Q C
    CTRL-ALT-H Call Hierarchy CTRL-ALT-H
  • Comments that contain the strings TODO, FIXME or XXX now generate tasks that are visible in the Tasks view.
  • New warnings are generated, including
    • Warnings when incorrect arguments can be detected. This is done for a number of builtins, including format/[2,3], predicates that take a stream argument and predicates that take a predicate indicator list or predicate specification.
    • Warn for foreign_resource/2 entries with no corresponding foreign/[2,3] and vice versa.
    • Warnings for unused module imports.
  • The top level view shows the working directory of the SICStus process.
  • SICStus is now started automatically, by default, for commands like Compile Prolog Code. This can be turned off in the preferences.

Bugs Fixed

  • ?-/1 is now treated as a directive, just like :-/1.
  • Sometimes the stack stopped being displayed in the debugger.
  • Completion (CTRL-SPACE) did not complete the names of built-in predicates.
Several other improvements and fixes.

SPIDER 0.0.20

Released Jun 22, 2010. Works with SICStus Prolog 4.1.2.

This is mainly a bug-fix release, fixing various issues in 0.0.19.

New Features

  • Warn about predicates not reachable from module/2 or public/1 directives.
  • Warn when redefining built-in predicates.
  • Generate warnings for goals in directives.
  • Some other new warnings.

Bugs Fixed

  • Memory usage has been improved, making it less likely that Eclipse will run out of memory.
  • Eclipse would hang when opening a file with overlong lines.
  • A deadlock issue.
Several other improvements and fixes.

SPIDER 0.0.19

Released Jun 15, 2010. Works with SICStus Prolog 4.1.2.

New Features

  • Source Code Indexer.

    The Indexer automatically processes all prolog source code in prolog projects and builds a model of how all files fit together.

    Current Indexer-related functionality:

    • The Indexer knows when a module is made up of more than one file. This way SPIDER can know the module and module-local predicates when editing one of the constituent files.
    • The Indexer improves the way SPIDER detects undefined predicates and improves the Open Definition command and related functionality.
    • SPIDER will now parse and emit problem markers for all prolog source code in prolog projects, not only for the files open in an editor.
    The Indexer is an enabling feature for future functionality, like refactorings.
  • File search paths, like those defined in Prolog with file_search_path/2 can now be defined in the preferences. The same mechanism is also used by SPIDER when a $VAR appears in a path.
  • Setting a spypoint on a predicate where SPIDER does not know the module will now default to the user module.
  • The Content Types preferences can now be used to associate arbitrary file name extensions with Prolog source code.
  • The included documentation is for SICStus Prolog 4.1.2.

Bugs Fixed

  • Nested conditional directives were not handled correctly.
  • Tests in nested conditionals now handle '\+'/1.
  • Fixed problem with call/n in DCG.
Several other improvements and fixes.

SPIDER 0.0.15

Released Jan 25, 2010. Works with SICStus Prolog 4.1.1.

New Features

  • Spypoints.

    Setting a breakpoint on the first line of a predicate creates a spypoint instead of a line breakpoint. Spypoint icons have a small arrow to distinguish them from other kinds of breakpoints. Note: Spypoints require that the module of the predicate is known, e.g. when it is defined in a module file.

  • The prompt for saving modified files now offers to do this automatically, without a prompt. This behavior can be changed in the preferences.

Bugs Fixed

  • Improvements in when variable bindings can be shown. Especially visible for variables deep in terms and code in disjunctions and do/2 loops.
  • Improvements in source debugging when no source info is available. Especially visible in disjunctions and do/2 loops.
  • Now warns for undefined predicates passed to user-defined meta predicates.
  • Files loaded into other files sometimes did not get warning annotations.
  • Outline view sometimes got stuck in “Pending…”
  • Adding a key-binding to the Compile or Consult commands did not work properly.
  • The identity of breakpoints persisted between sessions and could sometimes get confused with new breakpoints.
  • The pause/interrupt button in the SICStus top level view sometimes did not have any effect.
Several other improvements and fixes.

SPIDER 0.0.14

Released in December 2009 with SICStus Prolog 4.1.0.

Several bugs were fixed.

SPIDER 0.0.10

The initial public release. Released in October 2009 with SICStus Prolog 4.1.0 beta 1.