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.
reinitialise/0
does not load any initialization files given in
-i or -l command line flags.
[
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.