Under UNIX, SICStus Prolog is normally started from one of the shells. On other platforms, it is normally started by clicking on an icon. However, it is often convenient to run SICStus Prolog under GNU Emacs instead. A GNU Emacs interface for SICStus Prolog is described later (see Emacs Interface). From a shell, SICStus Prolog is started by typing:
% sicstus [options] [-a argument...]
where flags have the following meaning:
-f
~/.sicstusrc
or
~/.sicstus.ini
) on startup. If the flag is omitted and this file
exists, SICStus Prolog will consult it on startup after running any
initializations and printing the version banners.
-i
--iso
--sicstus
-m
-l
prolog-file
-l
argument is allowed.
-r
saved-state
-r
argument is allowed.
--goal
Goal
call/1
after all files have been loaded. As usual Goal
should be terminated by a full stop (.).
Only one --goal
argument is allowed.
-a
argument...
prolog_flag(argv,
Args)
, which will unify Args with
argument... represented as a list of atoms.
-B[
abspath]
-R[
abspath]
-B
option, except that it builds a saved state
for a runtime system instead.
Under UNIX, a saved state file can be executed directly by typing:
% file argument...
This is equivalent to:
% sicstus -r file [-a argument...]
NOTE: As of release 3.7, saved-states do not
store the complete path of the binary sp.exe
. Instead, they call
the main executable sicstus
, which is assumed to be found in the
shell's path. If there are several versions of SICStus installed, it is
up to the user to make sure that the correct start-script is found.
Notice that the flags are not available when executing saved states--all the command-line arguments are treated as Prolog arguments.
The development system checks that a valid SICStus license exists and
responds with a message of identification and the prompt | ?-
as soon as it is ready to accept input, thus:
SICStus 3.9.1 ... Licensed to SICS | ?-
At this point the top-level is expecting input of a query. You
cannot type in clauses or directives immediately (see Inserting Clauses). While typing in a query, the prompt (on following lines)
becomes
. That is, the | ?-
appears only for
the first line of the query, and subsequent lines are indented.