13.1 sicstus — SICStus Prolog Development System


% sicstus [options] [-- argument…]


The prompt ‘| ?-’ indicates that the execution of is top-level mode. In this mode, Prolog queries may be issued and executed interactively. To exit from the top-level and return to the shell, either type ^D at the top-level, or call the built-in predicate halt/0, or use the e (exit) command following a ^C interruption.

Under Windows, sicstus.exe is a console-based program that can run in a command prompt window, whereas spwin.exe runs in its own window and directs the Prolog standard streams to that window. spwin.exe is a “windowed” executable.



Fast start. Don’t read any initialization file on startup. If the option is omitted and the initialization file exists, SICStus Prolog will consult it on startup after running any initializations and printing the version banners. The initialization file is .sicstusrc or sicstus.ini in the users home directory, i.e. ~/.sicstusrc or ~/sicstus.ini. See ref-fdi-syn for an explanation of how a file specification starting with ‘~/’ is interpreted.


Forced interactive. Prompt for user input, even if the standard input stream does not appear to be a terminal.


Use malloc() et al. for memory allocations. See cpg-ref-SP_set_memalloc_hooks for more information.


Start with the 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.


Start without the initial version message.

-l prolog-file

Ensure that the file prolog-file is loaded on startup. This is done before any initialization file is loaded. Only one -l option is allowed.

-r saved-state

Restore the saved-state saved-state on startup. This is done before any prolog-file or initialization file is loaded. Only one -r option is allowed.

--goal Goal

Read a term from the text Goal and pass the resulting term to call/1 after all files have been loaded. As usual Goal should be terminated by a full stop (‘.’). Only one --goal option is allowed.


Sets the system property var to value value. Most system properties take their default value from the environment but often it is convenient to pass a system property directly instead of setting the corresponding environment variable. See System Properties and Environment Variables for details.

--locale name

Sets the process locale to the given locale name. The process locale primarily affects the character encoding used for the standard streams.

The default, also available by specifying ‘default’ as the name, is to inherit the locale from the environment.

This option is not supported on Windows.


Do not inherit the process locale from the environment.

This is, in effect, the default on Windows.


Reduce use of OS-signals.

On UNIX-like platforms, several OS signals are handled specially in a development system. The option -Xrs, prevents this and keeps the OS default behavior.

On both UNIX-like platforms and Windows, the development system will install handlers for the signal SIGINT (corresponding to a C-c keyboard interrupt). On Windows, a signal handler will also be added for SIGBREAK (signalled when the console window is closed). The handling of SIGINT and SIGBREAK is not affected by -Xrs.


Display a help message and exit.

-- argument…   since release 4.0.3
-a argument…

where the arguments can be retrieved from Prolog by prolog_flag(argv, Args), which will unify Args with argument… represented as a list of atoms.



Prolog source file


Prolog object file


Prolog saved-state file


SICStus Prolog initialization file, looked up in the home directory

See Also

Start, System Properties and Environment Variables.

Send feedback on this subject.