Branch: development (switch to
stable),
SWI-Prolog Changelog from version 9.3.18 to 9.3.19
[Jan 23 2025]
- MODIFIED: Only include
<windows.h
if
SWIPL_WINDOWS_NATIVE_ACCESS
is defined This provides the types and
prototypes for the Swin* functions that provide access to underlying
HANDLE and SOCKET objects.
[Jan 22 2025]
- ADDED: swipl-win console
^Y
bound to paste_quoted.
[Jan 20 2025]
- ENHANCED: Simplify shallow backtracking code
- ADDED: jiti_suggest_modes/0,1 Inspect the created JIT indexes, looking
for arguments for which we could create an index, but the predicate
is never called with the argument instantiated.
[Jan 15 2025]
- ENHANCED: Handling of candidate deep indexes.
[Jan 13 2025]
- MODIFIED: predicate_property/2
indexed(-Indexes)
property Now returns
the indexes as a list of dicts. This supports new features and is
easier to extend as indexing is further refined.
[Jan 8 2025]
- ADDED: Low level support to compute all useful hash indexes and
their properties. Accessible from Prolog as '$candidate_indexes'/3
[Jan 22 2025]
- DOC: Clarified PL_get_arg() and _PL_get_arg().
[Jan 20 2025]
- FIXED:
indexableCompound()
This function is used to see whether
a deep index is possible. It could generate wrong results, both
missing indexes and making useless indexes.
- TEST: Cleanup reload test Layout and use assertion/1 such that we
can more useful feedback
[Jan 17 2025]
- ENHANCED: explain/1 Several enhancements, notably list predicates with
certain properties and provides some more detail on various objects.
[Jan 15 2025]
- FIXED: Cleanly destroy claused indexes on free.
- FIXED: Detection whether a compound can be used for deep indexes.
This incorrectly considered H_VOID/H_VOID_N to be indexable.
Also documents and uses
bool
.
[Jan 14 2025]
- FIXED:
addClauseToListIndexes()
could skip indexes
[Jan 13 2025]
- ENHANCED: Inserting new clause indexes
[Jan 15 2025]
- FIXED: Crash in
clear_frame_vars()
when compiled for debugging
[Jan 14 2025]
- ADDED: library(prolog_colour): colour mode/1 directives. Coloured as
meta_predicate and therefore still accepts the non-mode specifiers.
- ADDED: check/0: print dummy mode declarations.
[Jan 13 2025]
- FIXED: Control-C + abort while printing output may exit REPL.
If the abort is handled by PL_handle_signals() called from flushing
the output, the stream is set in error state. If releasing the
stream re-raises the exception it should clear the error state from
the stream.
- CLEANUP: Remove unused supervisor instructions S_ALLCLAUSES and
S_NEXTCLAUSE
- DOC: JIT indexing for [] vs [_|_] and "primary" index
- ADDED: mode/1 and predicate_property/2 property
mode(-Head)
[Jan 12 2025]
- ENHANCED: Generalize S_LIST supervisor for any argument. The S_LIST
supervisor is now used to select between an
[]
and [_|_]
clause
regardless of the argument.
[Jan 13 2025]
- FIXED: Clause analysis that involves multiple calls to
skipArgs()
In this case we need to keep context for dealing with H_VOID_N
,
skipping N void arguments.
[Jan 12 2025]
- FIXED: reexport/2: allow for
op(Priority,Associativity,Name)
Consistent
with use_module/2 as (now explicitly) claimed. Reported by Rick
Workmann.
[Jan 8 2025]
- FIXED:
alloc_assessment()
: check for malloc()
failure
[Jan 6 2025]
- ENHANCED: bypass most indexing code for non-indexable predicates
- ENHANCED: Change default index argument
[Jan 3 2025]
- ADDED: Prolog flags to query and change the JIT clause indexing.
Experimental. The meaning and names of the flags are likely to change.
Package bench
[Jan 18 2025]
- ENHANCED: Benchmark comparison suite. Be more relaxed on missing
systems and allow adding new systems without changing the sources.
See README.md
Package chr
[Jan 22 2025]
- MODIFIED: Only perform CHR expansion when loaded in the context.
Restrict CHR term expansion to modules into which library(chr) has
been imported.
Package clib
[Jan 23 2025]
- PORT: Provide
SWIPL_WINDOWS_NATIVE_ACCESS
for 9.3.19
[Jan 13 2025]
- TEST: Fixed broken test for Prolog streams.
Package http
[Jan 17 2025]
- FIXED: Handle HTML error replies that contain non-ASCII. HTML error
replies are now sent using UTF-8 encoding. This patch also includes
more careful computation of the length of replies, resulting in
exceptions rather than claiming the wrong length on invalid input.
Package libedit
[Jan 22 2025]
- ADDED: ^Y to paste as quoted.
Package ltx2htm
[Jan 14 2025]
- ADDED:
\keyitem{Key}{Value}
for describing keys of a dict
Package odbc
[Jan 23 2025]
- PORT: Incude
windows.h
, needed for SWI-Prolog 9.3.19 and up This
is required as SWI-Stream.h
no longer includes the windows header.
Package pengines
[Jan 15 2025]
- ADDED: add HTTP path alias
pengine
. This allows for modifying the
location on a pengine server.
Package pldoc
[Jan 22 2025]
- ADDED: Allow copying the predicate name or mode from the manual.
- ENHANCED: Allow copy of the synopsis text
:- use_module(...)
.
Also improve _(can be autoloaded)_ message.
Package swipy
[Jan 11 2025]
- TEST: Added tests for
pytest
of the Python module.
- FIXED: Import
janus_swi
explicitly as janus
This is needed when
Prolog is embedded into Python.
Package xpce
[Jan 22 2025]
- FIXED: Avoid deadlock in
display<-selection
.