Dear SWI-Prolog user,
SWI-Prolog 8.3.24 is ready for download. Quite few things happened.
-
@peter.ludemann did a lot of work improving the Google protocol
buffer implementation. - Various tabling enhancements:
- MODIFIED: library(dialect/xsb/increval) is moved to library(increval)
- Support to to monotonic tabling on external data sources rather than
only on dynamic predicates. - Fix in monotonic propagation
- Fixed a possible crash (invalid compiled table)
- Improved handling of errors and warnings for batch processing and
-c
compilation. - Improved escape sequences when writing quoted atoms and strings.
- Fixed problem with nested reconsult (shows in expanded maplist/N
being undefined on every even load). - Added undo/1 to push goals onto the trail to be executed on
backtracking.
Thanks for all the pull requests and comments.
Enjoy --- Jan
SWI-Prolog Changelog since version 8.3.23
-
FIXED: Issue#830: assertion failure in GUI debugger. Wouter Beek.
-
TEST: Make a test fail if an error message is printed.
-
FIXED: locale_create/3: handling of
default
andcurrent_locale
. -
ADDED: Make the new on-error and on-warning options work both in
normal mode and in compilation (-c
) mode. -
ENHANCED: Handle underscores and minus the same when parsing
compilation options for-c
. -
ENHANCED: Enable color output when compiling
-
ADDED: Prolog flags
on_error
andon_warning
connected to
commandline options. -
ADDED: Provide a (silent) message reporting the error and warning count
while loading a file and document error handling during compilation. -
ADDED: statistics/2 and thread_statistics/3 keys
warnings
and
errors
. -
ADDED: undo/1 to schedule goals to be called on backtracking.
-
FIXED: Issue#110: Nested consult/1 on already loaded files (reconsult)
did not do generation management correctly. -
MODIFIED: Renamed incr_propagate_answer/1 to incr_propagate_calls/1.
Removed incr_invalidate_answer/1 (is incr_invalidate_calls/1). -
FIXED: Ensure a compiled trie never ends in I_FAIL. This crashes
the debugger. -
FIXED: vm_list/1 for compiled tries.
-
ADDED: incr_propagate_answer/1 and incr_invalidate_answer/1.
-
MODIFIED: Move library(increval) from dialect/xsb to the core
library. Code using the XSB emulation should run unmodified. Code that
uses this library aslibrary(dialect/xsb/increval)
must be updated
to load library(increval) or rely on autoloading. -
DOC: Updated stream_property/2 for
representation_error
-
ADDED: Prolog flag
character_escapes_unicode
-
CLEANUP: Generalize fast access to boolean Prolog flags such that we
can host more than 32. -
ENHANCED: Use Unicode classifiers for deciding on which characters
to escape for quoted write. -
DOC: Escape sequences used for quoted write.
-
MODIFIED: Make quoted write depend on
iswgraph()
rather than not
quote any non-ascii character. Escaped characters are written as
\x<hex>\
. -
ADDED: code_type/2: category
print
-
FIXED: Tighter checking correctness of sandbox declarations and fix
wrong declaration for ‘$moded_wrap_tabled’/5 (was /4). -
DOC: stream_property/2 representation_errors property.
-
DOC: Explain current status wrt dynamic and static linking.
-
BUILD: Added
-DSWIPL_STATIC_LIB=ON
config option to also build
a static library. -
BUILD: Use CMake
OBJECT
library as intermediate. -
ENHANCED: Issue#825: Error handling when goal_expansion/2 binds a
variable in\+/1
or;/2
. -
ADDED: Prolog flag
optimise_unify
to prevent moving unifications to
the head. as these harm notably the source level debugger experience. -
FIXED: runtime change of det/1 property. Peter Ludemann.
-
FIXED: Fresh table that depends on an invalid monotonic lazy table
causes a permission error. -
DOC: “pinned” → “developed”
Package clib
- ENHANCED: process_create/3: better error message if executable could
not be found.
Package http
- DOC: Small touches & updates
Package ltx2htm
- FIXED: Handling of empty cells to emit a
<td></td>
Package pengines
- FIXED: pengine_property/2 in mode (+,+). David Tonhofer.
Package protobufs
-
ADDED: support for “packed”
-
FIXED: UTF-8 processing for string(Tag,…) ADDED:
signed64(Tag,…) for .proto types int32,int64
Package sgml
- TEST: Silence expected error messages.