library(chr): A new library module providing Constraint Handling
Rules; see
http://www.pst.informatik.uni-muenchen.de/~fruehwir/chr-solver.html
library(jasper).
garbage_collect_atoms/0, and
controlled by the agc_margin Prolog flag. New statistics
options: atoms, atom_garbage_collection.
New interface functions: SP_register_atom(), SP_unregister_atom().
call_cleanup/2, which
replaces undo/1.
source_info Prolog
flag.
zip and built-in predicates zip/0, nozip/0; new debugger
commands out n, skip i, quasi-skip
i, zip, backtrace n, raise exception.
Modules can be declared as hidden, which disables tracing of their
predicates.
save/[1,2] are gone. In most cases, save_program/2 can be
used in their place, with a little rearrangement of your code.
Predicates can be declared as volatile.
SP_restore() is the C equivalent of
restore/1, which now only restores the program state, leaving the
Prolog execution stacks unchanged.
read_term/3 option: layout(-Layout).
New hook predicate: user:term_expansion/4.
random:randset/3 returns a set in standard order.
db:db_canonical/[2,3] are new; can be used to check whether two
TermRefs refer to the same term.
clpfd:serialized_precedence/3 and
clpfd:serialized_precedence_resource/4 are new; model
non-overlapping tasks with precedence constraints or sequence-dependent
setup times.
:Goal are
translated according to the manual. Earlier
versions treated arguments occurring in the : position of
meta-predicates specially.
SP_raise_fault() and interface macro
SP_on_fault() are available for handling runtime faults that cannot
be caught as exceptions.
SP_set_memalloc_hooks() is available for
redefining the memory manager's bottom layer. Related to that, there is
a new command-line option -m.
-B command-line option is gone in the start-up script, and
some new options have appeared.
-base to override the executable used by
the start-script.
reinitialise/0 does not load any initialization files given in
-i or -l command line flags.
-S to spmkrs and spmkds to
link the SICStus Runtime Kernel (and development extensions for
spmkds) statically into the executable.
[File1,File2,...] was broken.
require/1 did not find all directories.
clp[qr]:dump/3, clp[qr]:expand/0,
clp[qr]:noexpand/0.
arrays:arefa/3, arrays:arefl/3, heaps:min_of_heap/5
are now steadfast.
library(clpfd) predicates now check the type of their arguments.
Bugs fixed in relation/3, serialized/2, all_distinct/1.
frozen/2 could crash on an argument of the wrong type.
SP_get_list_n_chars() does not require a proper list.
load_files(Files, [compilation_mode(assert_all)]).
load_files(Files, [if(changed)]), a
non-module-file is not considered to have been previously
loaded if it was loaded into a different module.
if/3 goals in grammar rules.
system:mktemp/2 sometimes returned filenames with
backslashes in them.