read_line/[1,2]read one line of input into a code-list.
stream_position_data/3accesses the fields of a stream position term.
goal_source_info/3decomposes annotated goals into a goal proper and a source position. Mostly used in displaying error messages.
undo/1, which posts a goal for execution on backtracking, has been revived.
absolute_file_name/3is a new variant of
absolute_file_name/2taking a number of options to give full control over the conversion from relative to absolute filename.
read_term/[2,3]takes a new option, which controls whether the layout-text-item that follows the terminating `.' should be consumed.
trimcore/0trims the Prolog stacks.
user:breakpoint_expansion/2, has been added for user defined breakpoint conditions.
library(bdb)provides a way to flush all modified records to disk after each operation.
library(charsio)provides the new predicates
library(system)provides the new predicates
library(clpq,clpr)provides the new predicate
SP_set_read_hook()is now obsolescent. See Hooks.
SP_event()can now be called from arbitrary OS threads. See Calling Prolog Asynchronously.
foreign/[2,3]declarations. This file should be included in the corresponding C file to protect against incorrect
foreigndeclarations and also to ensure compatibility with various compile time settings used by splfr.
The name of the file can be specified with --header=NAME. To produce the file and nothing more, you can use the new --nocompile flag as in
% splfr --header=foo.h --nocompile foo.pl
This is especially useful when foo.h is a Makefile prerequisite.
spld --moveablenow produces an executable that can be moved, together with its directory tree (see Runtime Systems on UNIX Target Machines) on Solaris and Linux (it always worked under Windows).
spld --helpto get details on these and other options.
#define SICSTUS_MAJOR_VERSION 3 #define SICSTUS_MINOR_VERSION 9 #define SICSTUS_REVISION_VERSION 1 #define SICSTUS_BETA_VERSION 0 /* Two digit position for MAJOR, MINOR and REVISION */ #define SICSTUS_VERSION 30901
SP_read_from_string()takes a string representation of a Prolog term and a table of variable values and creates a Prolog term. By reading a goal from a string and passing the resulting term to
call/1, this also gives a very simple way to call arbitrary goals from C. See Mixing C and Prolog.
SP_define_c_predicate()makes it possible to dynamically define a Prolog predicate that calls a C function. See Mixing C and Prolog.
SP_mutex_unlock(), C type
SP_mutexand static initializer
SP_MUTEX_INITIALIZER. These provide a platform independant (recursive) mutual exclusion lock. These are mainly useful when more than one SICStus run-time is used (in different threads) in the same process. See Operating System Services.
SP_initialize()) to the folder containing the executable and the folder containing the SICStus run-time, respectively. This provides a location independent way to locate files (such as saved-states) that are located together with the application. Also available as the file search aliases
runtime. See Input Output.
halt/0to be called in a development system. This will ensure that
halt/0is called in sicstus when the console window is closed or when the user logs off. The windowed version of SICStus (spwin) also sends itself a
SIGBREAKwhen the GUI window is closed, causing
halt/0to be called.