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.