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.
informationalProlog flag set to
offinitially, suppressing informational messages. The flag is set before any prolog-file or initialization file is loaded or any saved-state is restored.
call/1after all files have been loaded. As usual Goal should be terminated by a full stop (`.'). Only one --goal option is allowed.
), 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.11 ... 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.