Dear SWI-Prolog user,
I have uploaded SWI-prolog 8.1.17. This version provides some new
functionality as well a couple of critical bugfixes. Highlights:
-
Fixed three crashes related to tabling and one related to temporary
modules as used by Pengines (and thus SWISH). -
Added tabling with call subsumption, reusing answers from more
general (tabled) goals. Still suffering from severe performance
issues. -
Allow using constraints as a guard for filtering messages in
thread_get_message/1-3 -
Fixed several issues related to profiling
-
When using BSD editline (libedit) as command line editor, provide
C-r to search in old commands. -
PlDoc: allow referencing local labels using
[Title](#label)
.Enjoy — Jan
SWI-Prolog Changelog since version 8.1.16
-
FIXED: Issue#526: possible crash in trie_gen/2,3. Farbrizio Riguzzi.
-
MODIFIED: catch_with_backtrace/3 now captures the backtrace without
direct references to clauses such that the backtrace can be printed
reliably in a different context. -
DEBUG: Dump Prolog stack on fatal errors (in safe mode, i.e., without
arguments but with PC and clause info). -
ADDED: thread_get_message/1-3: allow more selective matching of terms
using constraints. -
FIXED: reset_profiler/0. Needs to clear
prof_node
in the
environments. Lacking to do so can cause crashes as well as wrong
results. -
FIXED: Crash in thread cleanup if the OS thread could not be created
(typically due to a resource limit) -
XSB: fmt_write/2,3: cache format translation.
-
XSB: Provide consult/1 from library(consult) and slash/1 from
library(machine). -
TEST: Added XSB subsumptive tabling tests
-
ADDED: Prolog flag `table_subsumptive’ to select (default) subsumptive
tabling. -
ADDED: Simple implementation for subsumptive tabling. Handles reuse
of incomplete tables, but often resulting in quadratic complexity. -
FIXED: is_most_general_term/1: failed to clear marks, causing
invalid data. -
FIXED: Calling incremental tabling for subsumptive tabling.
-
DOC: Fixed limit/2 doc for Count argument.
-
FIXED: Wrapping meta-predicates. Abramo Bagnara.
-
FIXED: db_sync(gc(always) to really always write the persistent db.
Package clib
- FIXED: Avoid live lock in
fork()
due to profile signals that
prevent fork() to complete. Edward Schwartz.
Package libedit
- ADDED: Implement C-r: incremental search in the history. This also
exposes more of the libedit low level functionality to Prolog,
notably reading raw input and pushing characters into the input buffer.
Package pldoc
- ADDED: Allow for
[Title](#label)
to reference a local anchor.