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

SWI-Prolog Changelog from version 8.1.14 to 8.1.15

[Oct 7 2019]

  • MODIFIED: Introduced user_app_{config,data} and common_app{config,data} and make app_{config,data} and alias for the user and common versions (in that order).
  • ADDED: win_folder/2: keys common_appdata and local_appdata.

[Oct 4 2019]

  • SNAP: Add snap package

[Oct 6 2019]

  • DOC: Updated customization files and install them.
  • MODIFIED: Place the personal init file in a common place on all
    operating systems. This directory is located in one of the directories below and names swi-prolog - Windows: CSIDL directory APPDATA (see win_folder/2) - Otherwise
    • $XDG_CONFIG_HOME
    • $HOME/.config

    In this directory we find:

    • init.pl (previously .swiplrc or swipl.ini (Windows) Personal initialization file
    • lib (previously ~/lib/prolog) Personal library
    • xpce (previously ~/.xpce) Directory holding xpce application data

    If you use multiple versions we suggest to create the new hierarchy and make symbolic links from the old locations. Windows users will have to live with copies.

[Oct 5 2019]

[Oct 4 2019]

  • PORT: Use _NSGetEnviron() instead of environ on MacOS when available.

[Sep 30 2019]

  • ADDED: PL_put_uint64(). Suggested by Mathijs van Otterdijk.

[Oct 1 2019]

  • FIXED: lock queue table when performing AGC as another thread may be destroying a message queue
  • DOC: XSB dialect issues.
  • XSB: Added library(dialect/xsb/gpp) to use the XSB preprocessor.
  • XSB: Exploit peek_string/3 to realise the required two phase processing of XSB files if the input cannot be repositioned.
  • ENHANCED: peek_string/3 now allows peeking the remainder of long
    inputs using a huge value for the peek length while allocating the minimum of the peek length and the input length rather than always allocating the peek length.
  • ADDED: prolog:open_source_hook/3 to allow hooking the final open for the compiler.

[Sep 29 2019]

  • FIXED: statistics/2 for table_space_used multiplied the value
    incorrectly with sizeof(trie_node). New stats also include the trie itself and the call trie. It ignores node indexes though.

[Sep 27 2019]

  • XSB: Added emulation of Term Writing to Designated I/O Streams, module standard.

[Sep 29 2019]

  • ENHANCED: If a significant part of the clauses that are candidate for CGC have an (atom) clause reference, first call AGC.
  • ENHANCED: GC: remove links to unreachable volatile atoms. This improves the efficiency of atom garbage collection.

[Sep 27 2019]

  • FIXED: profile/2 using cumulative(true) without GUI. Abramo Bagnara.
  • ENHANCED: trie_gen/2,3 for when matching an instantiated value
    against a trie choice node that contains variables. Test by Edward Schwartz.

[Sep 26 2019]

[Sep 25 2019]

  • MODIFIED: low-level profiler access predicates to communicate about predicates using predicate indicators rather than heads. This simplifies the code and makes most data structures ground. Note that the hook user:prolog_predicate_name/2 is now called with a predicate indicator rather than a head.
  • FIXED: profile_data/1. Broken after adding profile_procedure_data/2.

[Sep 24 2019]

Package xpce

[Oct 7 2019]

  • MODIFIED: Load PceEmacs extensions from app_config('xpce/emacs') instead of ~/lib/xpce/emacs

[Oct 6 2019]

  • ENHANCED: Allow edit script and PceEmacs mode to pass the column to edit.
  • MODIFIED: Place PceEmacs socket in xpce's data directory
  • MODIFIED: Inherit new SWI-Prolog search for storing application data.

[Oct 1 2019]

  • FIXED: Details menu and single click in pce profiler view.

[Sep 25 2019]

  • COMPAT: Sync with new profile data format and reuse more code from the core Prolog system.