6.7.1 Runtime Systems

Stand-alone applications containing debugged Prolog code and destined
for end-users are typically packaged as runtime systems. No
SICStus license is needed by a runtime system. A runtime
system has the following limitations:

No top-level. The executable will restore a saved-state and/or
load code, and call user:runtime_entry(start).
Alternatively, you may supply a main program and explicitly
initialize the Prolog engine with SP_initialize().
break/0 and require/1 are unavailable.

No debugger.
debugging, debug and debugger_print_options have no
effect. Predicates annotated as [development] in the reference
pages are unavailable.

Except in extended runtime systems: no compiler;
compiling is replaced by consulting.
Extended runtime systems do provide the compiler.

The Prolog flags discontiguous_warnings and
single_var_warnings have no effect.

The redefine_warnings Prolog flag is off by default, suppressing
queries and warnings about name clashes and redefinitions.

The informational Prolog flag is off by default, suppressing
informational messages.

No profiler or coverage analysis. The predicates
profile_reset/0, profile_data/1,
print_profile/[0,1]coverage_data/1, and
print_coverage/[0,1] are unavailable. The Prolog flag
profiling is unavailable.

No signal handling except as installed by SP_signal().

It is possible to tell a runtime system to start a development system
instead, for debugging purposes. See Debugging Runtime Systems for
details.