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:
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.
debugging, debug and debugger_print_options have no
effect. Predicates annotated as [development] in the reference
pages are unavailable.
While consulting without the compiler, if clauses for an existing, compiled, multifile predicate are encountered, the existing clauses remain untouched, the multifile clauses being consulted are simply skipped with a permission error, and the consult continues.
The extended runtime system provides the compiler.
discontiguous_warnings and
single_var_warnings have no effect.
redefine_warnings Prolog flag is off by default, suppressing
queries and warnings about name clashes and redefinitions.
informational Prolog flag is off by default, suppressing
informational messages.
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.
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.