Did you know ... Search Documentation:
Title for pldoc(default)
Branch: development (switch to stable),
version to version

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.