:- op(foo,xfy,800), op(bar, fx, 10).instead use separate directives, like:
:- op(foo,xfy,800). :- op(bar, fx, 10).This is required also for ISO compliance.
The following example shows how conditional compilation can be used to supply SPIDER with special definitions of predicates etc.
:- if(current_prolog_flag(dialect,spider)). %% Dummy definitions for SPIDER. SICStus will not see these. foo(_,_). bar(_,_). :- elif(current_prolog_flag(dialect,sicstus)). %% SICStus, but not SPIDER, will see this code foo(X,Y) :- some_goal(X,Y). %% include some code that is not available in SPIDER %% Presumably it defines bar/2. :- include(generated_code). :- else. %% This code is for Prolog dialects other than SICStus. foo(X,Y) :- throw(unsupported(foo(X,Y))). bar(X,Y) :- throw(unsupported(bar(X,Y))). :- endif.
Note that line breakpoints only work if source info is enabled, i.e. with set_prolog_flag(source_info, on).
Breakpoints are persisted and automatically installed in any Prolog started from within SPIDER. You can temporarily disable all breakpoints from the Breakpoints view.
You can select a file, folder or Project in the Eclipse Project Explorer and select Properties from the context menu. There is a Prolog properties page with the following choices:
It may be worthwhile to uncheck this for some example folders in the SICStus library tree.
Note that the Indexer will skip non-Prolog files even if Index is checked so you do not need to uncheck this option for non-Prolog files.
There are also some Indexer-related preferences.