Node:Changes in release 3, Next:Changes introduced in 3#4, Previous:Revision history, Up:Revision history
0'
notation denote escape sequences. Character escaping can be switched off.
call_residue/2
has been modified so that
goals that are disjunctively blocked on several variables are returned
correctly in the second argument.
setarg/3
has been removed. Its
functionality is provided by the new built-ins create_mutable/2
,
get_mutable/2
, update_mutable/2
, and is_mutable/2
,
which implement a timestamp technique for value-trailing with low-level
support.
unix/1
and plsys/1
have been
removed. Their functionality is provided by
prolog_flag(argv,X)
, by the new halt/1
built-in, and
by the new library(system)
module which also contains several new
predicates.
library(sockets)
module.
time_out/3
has been moved to the new
library(timeout)
module.
term_hash/[2,4]
, subsumes_chk/2
, and
term_subsumer/3
have been moved to the new library(terms)
module, which also contains operations for unification with occurs-check,
testing acyclicity, and getting the variables of a term.
+chars
, -chars
and [-chars]
for fast conversion between
C strings and Prolog lists of character codes. Several new interface functions
are available.
SP_term_ref
,
making the functions SP_show_term()
and SP_hide_term()
obsolete.
library(gmlib)
has been replaced by
the Tcl/Tk based library(tcltk)
. A version of library(gmlib)
converted to SICStus Prolog release 3 is available from
ftp://ftp.sics.se/archive/sicstus3/gmlib.tar.gz
.
library(objects)
module has been enhanced.
self
.
Prolog goals in methods must be prefixed by :.
library(charsio)
, the open_chars_stream/[3,4]
predicates
have been replaced by open_chars_stream/2
and
with_output_to_chars/[2,3]
.
library(assoc)
module now implements AVL trees instead of
unbalanced binary trees.
library(atts)
implements
attributed variables, a general mechanism for associating logical variables
with arbitrary attributes. Comes with a number of hooks that make it
convenient to define and interface to constraint solvers.
library(clpb)
and is implemented on top of library(atts)
.
library(clpq)
) and reals
(library(clpr)
), implemented on top of library(atts)
.
user:goal_expansion/3
is a new hook predicate for macro-expansion.
bb_put/2
, bb_get/2
, bb_delete/2
, and bb_update/3
are new built-ins implementing blackboard primitives.
prolog_load_context/2
is a new built-in predicate
for accessing aspects of the context of files being loaded.
user:file_search_path/2
is a new hook predicate
providing an alias expansion mechanism for filenames.
gcd/2
is a new built-in function.
walltime
measures elapsed absolute time.
ensure_loaded/1
and use_module/[1,2,3]
have the same semantics as in development systems.