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 options have the following meaning:
language
, i.e. select ISO Prolog
or SICStus Prolog mode respectively. The flag is set before any
prolog-file or initialization file is loaded or any
saved-state is restored.
informational
Prolog flag set to off
initially, suppressing informational messages. The flag is set before
any prolog-file or initialization file is loaded or any
saved-state is restored.
call/1
after all files have been loaded. As
usual Goal should be terminated by a full stop (`.'). Only
one --goal option is allowed.
prolog_flag(argv,
Args)
, which will unify Args
with argument... represented as a list of atoms.
Under UNIX, a saved-state file can be executed directly by typing:
% file argument...
This is equivalent to:
% sicstus -r file [-a argument...]
Please 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, unless the --nologo option was used, responds with a message of identification and the prompt `| ?- ' as soon as it is ready to accept input, thus:
SICStus 3.12.7 ... 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.