SWI Prolog 9.1.11

SWI-Prolog offers a comprehensive free Prolog environment. It has been in development since 1987 and extended for requirements of real world applications, but is also widely used in research and education. It includes a nice command line interface, fast and transparent compilation, a debugger, profiling features. It also has the ability to integrate with C code, and already comes with packages for threading and process management, encryption, TCP/IP, TIPC, ODBC, SGML/XML/HTML, RDF, HTTP, graphics manipulation and output. It's also cross-platform.

Tags prolog compiler software-development
License GNU LGPL
State stable

Recent Releases

9.1.1108 Jul 2023 19:33 minor feature:
8.3.727 Sep 2020 04:05 minor feature: PPA: Removed eoan from PPA list . Updated bench. . : : expand_file_name/2 for Windows: double UTF-8 encoding. . MODIFIED: portray_clause/1,2,3: portray `(a,b),c` the same as `a,(b,c)`. . Updated sgml. . MODIFIED: frozen/2 now reports any goal that is delayed on some variable. . MODIFIED: numbervars/4 using the `singletons(true)` option to number . . ENHANCED: Allow listing and source level deger to work for clauses. . ENHANCED: Compile simple arg/3 calls to the VM. . Updated pldoc. . Ensure uniqueness of goals in frozen/2. . DOC: : read_history/6 wrong info for substituting the event. . : : Deflags such as `print_write_options` in a saved. . : Handle failure inside 'fast' opcodes which D_BREAK replaces with. . : frozen/2 could fail after recent enhancements. . : Possible crash in tabling, notably occurring on MacOS due to w . . ENHANCED: frozen/2 to avoid copying. This not only enhances performance. . Added test for frozen/2. . MODIFIED: qsave_program/2: preserve the `autoload` flag in the calling. . Updated sgml. . MODIFIED: : Added read_term_with_history/2 and moved read_hi . . Preparing version 8.3.7. . toplevel query with variables.
8.3.606 Sep 2020 07:45 minor feature: DOC: consistency of docs for forall/2 and concurrent_forall/2. . typos. . Removed predicate_property'/2 from public docs. Peter Ludemann. . Open foreign frame in PL_clear_foreign_exception() as stream errors m . . : copy_stream_data/2: ensure exceptions are passed. . PORT: Support Unicode wmain() for Windows. This adds PL_winitialise(). . : Encoding for command line options passed through ' cmd_option_ . . : Make sure the xpce boot files are handled as library files and . . COMPAT: Export memberchk/2 from library(lists). . : compile_predicates/1: wrong handling of module qualification c . . ADDED: set_system_IO/3 to bind stdin/stdout/stderr to Prolog streams. . ENHANCED: ignore tty stream errors when there is no active terminal. . : supporting wide file names in qlf files. . Updated bench. . Updated ssl. . Updated debian. . Updated semweb. . Updated bench. . Cleanup arg/1 arity type. . Updated ssl. . Updated bench. . typos. . Modified ' fetch_vm'/4 to always qualify procedure arguments. . Make ' vm_assert'/3 work. . ADDED: library(prolog_code): is_predicate_indicator/1. . : load_file/2: if(changed) option for loading a non-module file. . : is/2 using optimised arithmetic with a float value while the l . . Test for instantiated float output for is/2. . : SICStus emulation: avoid mapping use_module/1,2 unconditionally. . ADDED: library(sandbox): support load_files/2 with safe options. . MODIFIED: Extensive rewrite to avoid variable references inside and. . ENHANCED: Proper Last Call Optimization (LCO) for a subset of the calls: . Updated cpp. . : re-enable inline unification after switching off demode. R . . Extened library(vm): clause_vm/2 and vmi_labels/2. vm_list/2 now adds. . : Possibly crash in wrap_predicate/4. With help from Peter Ludem . . Preparing version 8.3.6.
8.3.515 Aug 2020 21:05 minor feature: ENHANCED: list_de_topics/0: use quoted print and numbervars to list . DOC: get_dict_ex/3 does not exist. Removed the docs. David Tonhofer. . : : system code depended on library, preventing disabling. . DOC: typos in manual. . DOC: Format each summary to have its own line. . : Autoloading picked predicates from the module `user`. Test case. . : Allow importing a predicate using autoload/2 while it is defin . . TEST: Autoload. . BUILD: Always the library index commands. Prolog checks the dependencies. . : make_library_index/1 tested whether `.` was changed rather tha . . BUILD: installation. Nicos Angelopoulos. . DOC: functor/3: avoid confusing example. . : ht_get/3 on an empty hash table. . : HTML text renderer to add a blank line between the first and s . . DOC: typos in manual. . ENHANCED: foreach/2: better performance and avoid copying goal. . : listing/1: when used with a partly instantiated head to list a . . Updated http. . : Do not save the Prolog flag `file_name_case_handling`. . : Handle Unicode file names in QLF files and saved states on Win . . : : using as postoperator can cause the output to. . DOC: typos in manual. . Updated jpl. . DOC: Clarifications, section levels. . Preparing version 8.3.5.
8.3.425 Jul 2020 12:25 minor feature: Updated jpl . DOC: Reviewed chapter on "exceptions". . Remove trailing whitespaces. . typos in manual. . ENHANCED: concurrent_and/2,3: limit size of answer queue. Jan Burse. . : Single threaded build. . CLEANUP: Generation management. . ADDED: Transaction isolation support. See transaction/1 and snapshot/1. . Trying to get GC working inside transactions. . avoiding a clause to be freed while in the transaction clause t . . Add citation to CICLOPS article. . : propagate I/O exceptions or signalled exceptions from discarding. . : Use L_GENERATION lock for removeClausesPredicate() to make this. . ENHANCED: Make reconsult predicate updates truly atomic. . : transaction nesting. . ADDED: current_transaction/1 to test whether a goal is running inside a. . ENHANCED: Avoid remembering clauses that are asserted and retracted in. . More tests for nested transactions. . Optimization. . Make CGC work for asserted and retracted clauses inside transaction. . DOC: Mostly changes to atom_codes/2 et al. . : retract/1 in nested transaction for clauses added by. . ADDED: transaction_updates/1 to get access to pending updates in a tr . . : Proper commit generation. . : Added missing predicate_options/3 declarations for. . ADDED: transaction/3. . Made the predicate_properties `number_of_clauses` and `number_of_rules`. . : Added option/2 dependency for library(thread). . Added library(prolog_xref) declarations for transaction support. . generation for predicate_property/2 `number_of_clauses`. . TEST: Test transaction constraints. . Documentation updates. . ENHANCED: transaction_updates/2: distinguish asserta and assertz. . Avoid the reserved transactions. . test for erased clauses. . Added asserta/assertz tests for transactions. . Deging stuff. . : Assert+retract inside a transaction may cause a clause to become. . Generalize the test. . : Avoid inconsistent L_PREDICATE and L_GENERATION locking (deadl . . : Clauses asserted in a transaction could b
8.3.304 Jul 2020 07:05 minor feature: PPA: Removed support for Ubuntu _disco_ (19.10). . Stop update-macport script from complaining. . Updated chr. . Updated JPL. . DOC: typos in manual. . Move tshared to tabling properties to make room for P_WAITED_FOR. . MODIFIED: Option processing now raises a type_error(option, Option) if. . ADDED: thread_wait_on_goal/2 to wait for database changes. This predi . . Updated http. . Rename.desktop file to show in menu. . MODIFIED: thread_wait_on_goal/2: make it per-module rather than global. . : Recursive autoloading when a saved state loads an additional f . . ENHANCED: save_settings/1 to use setup_call_cleanup/3 to guarantee. . MODIFIED: Renamed thread_wait_on_goal/2 into thread_wait/2 and added. . DOC: add missing documentation for native zip handling predicates. . : Allow for saved states of more than 4Gb. . : Consider files loaded from a state already loaded. . ENHANCED: : library(settings): only save when modified and d . . DOC: Remove outdated status in manual. . DOC: typos in manual. . DOC: Updated "exception term" page with ISO info. . CLEANUP: Term names set to those of ISO Standard. . ENHANCED: copy_term/3 to sort the attvars prior to generating the goa . . PORT: Allow pthread_cond_timedwait() to return EINTR. . ENHANCED: thread_signal/1: avoid a max 0.25 sec wait if the signalled . . ADDED: concurrent_forall/2,3: as forall, running tests in parallel. . Avoid double import. . Pick the right libgmp-*.dll on Fedora cross build. . TEST: Added `SKIP_SSL_TESTS` option to CMake config. . Updated jpl, ssl and swipl-win. . More libraries we should not autoload. . Updated jpl. . DBLP:dblpjournals/tplp/CovingtonBOWP12 BibTeX entry. . : Provide elementary thread-safety. Jan Burse. . DOC: library(persistency). . ADDED: concurrent_and/2,3 based on Jan Burse's balance/1. . Use Docker to produce the Windows binaries. . Preparing version 8.3.3. . Windows build.
8.3.113 Jun 2020 20:45 minor feature: DOC: Added documentation for dealing with releases . Macport: include port name in commit message. . Centralise Macport preand only install the distfile on MacOS. . Updated chr. . Updated bench. . BUILD: PGO build to first install the library. . DOC: typos in manual. . DOC: tcp_sockopt/2 must be tcp_setopt/2. Adrian Wong. . MAINTENANCE: Added scripts/gcov-swipl to gather coverage information. . BUILD: Redefine __assert_fail() in a more safe way that allows. . TEST: Include tabling tests when calling test.pl. . TEST: Avoid basic tabling tests to succeed with a choicepoint if there. . TEST: Allow all XSB tabling tests to run in one Prolog instance to fa . . : Be more selective in classifying files as `library` files. Not . . Updated http, semweb and ssl. . DOC: Testing options. . Updated clib. . MODIFIED: atom_string/2, string_chars/2, string_codes/2 and text_to_s . . DOC: typos in manual. . DOC: Use consistent command line option names. . Updated reference from delimited continuations to tabling. . DOC: char_type/2: updated general description. . DOC: Removed unix/1 docs from main manual as this is merely a partial . . : Changed unviewable background color for DCG right hand context. . Updated ltx2htm. . MODIFIED: prolog_listen/3: when listening on a dynamic predicate, assert. . : Added missing release_def() for computation of the `size` prop . . DE: Wrong CHK_SECURE assertion. . : prolog_frame_attribute/3 getting local variables for a frame a . . Updated pldoc. . Updated jpl and plunit. . : keep pending choicepoint frames visible to the stack shifter. . BUILD: When building the MacOS bundle, tell CMake not to look into. . DOC: call/1. . More call/1 docs. . : Possible use-after-free. . : get_returns_for_call/2: module qualification. . Added monotonic predicate property for dynamic and tabled predicates. . ADDED: Monotonic tabling. . Preparing version 8.3.1.
8.1.3223 May 2020 06:05 minor feature: updated cpp . Updated ssl. . PORT: deal with mmap without MAP_ANONYMOUS or MAP_ANON. This assumes . . : Atom garbage collection marking using copy_term/2 and fr . . ADDED: CMake export config to SWIPL install. . CLEANUP: Put exports of pl-comp.c in new pl-comp.h. . ADDED: PL_assert(). Suggested by Barry Evans. . Updated bench. . Updated JPL. . BUILD: dependency problem, often showing up as below, but depen . . : PL_assert(): uninitialized var. Joost Geurts. . ADDED: var_property/2: `singleton` property. . BUILD: Also define SWIPL_CMAKE_NAMESPACE and SWIPL_INSTALL_CMAKE_CONF . . BUILD: Don't use single quotes around arguments to `-g` options, to r . . Updated cpp. . : XSB emulation of parsort/4. Ed Schwartz. . Updated swipl-win. . Added indentation to improve readability. . DOC: Improved intro text for library(yall) intro. . Added TestWindowsFSeek.c. . PORT: Updated Large File Support in minizip to use existing CMake det . . : Re-allow DCGs in sandboxed mode. Daan van Berkel. . Cleaner check for off_t. . MODIFIED: PL_unify_float() and PL_put_float() to turn any NaN into the. . Updated yaml. . Cache detection of _fseeki64(). . MODIFIED: argv_options/3: map `-` in option names to `_`, compatible. . : Isue#592: Help/submit report link. Alvin Seville. . Updated pldoc. . : try to ensure that compilers don't merge identical looking VMI . . CLEANUP: Remove old code for separating VMI addresses. . ENHANCED: save_settings/0: raise error if there is no default file known. . : Build for Win32: separate VMI for T_TRY_MPZ. Relates to. . PORT: Using _BitScanReverse/_BitScanReverse64 as according to Microso . . : rational tripwire for negative rational numbers. Rick Workman. . Preparing version 8.1.32.
8.1.2901 May 2020 18:45 minor feature: Updated pengines . Updated pengines. . : trie_gen_compiled/2,3 to fail on clause/2,3 and retract/1, cla . . Updated jpl. . : Avoid code walker to walk over wrappers. . PORT: Deal with missing MAP_ANONYMOUS if MAP_ANON exists. . MODIFIED: Change the default for exchanging arity from `int` to `size . . Updated packages for arity to size_t switch. . Allow for empty definition of PL_ARITY_AS_SIZE. . Updated cpp. . Updated pcre. . Updated plunit. . : Inconsistent index for call subsumption may cause answers to b . . : current_table/2 to consider emptied shared tables as non-exist . . ENHANCED: zipper_open_current/3: Use full buffering. . Updated odbc. . Updated odbc. . Updated xpce. . Updated http. . Updated swipl-win. . PORT: Use CMake to find out whether the 64 bit file functions are sup . . MACOS: Added distribution build using gcc 9. . snap: use kde-neon extension. . Layout. . : GC may miss threads if thread_highest_id is decremented below . . Updated snap docs. . Document releasing as snap. . DOC: Wrong ssl dependency (gives Prolog error messages during build, . . Updated http. . Updated jpl. . DOC: make sure archive package is built before prolog_pack documentat . . Update snap.md with config files and interfaces. . Updated jpl. . Create term copying that keeps track of the recursion depth. . MODIFIED: size_abstract_term/3 to implement what I think is the intended. . ADDED: trie_insert_abstract/3. Intended to desize abstraction. . ADDED: Handle :- table... as abstract_answer(N). . Handle prolog:tripwire/2. . : Tabling tripwire raising wrong exception. . : radial_restraint/0. . DOC: radial_restraint/0. . Updated http. . ADDED: CHK_ATOM_GARBAGE_COLLECTED Prolog detopic. The sanity-chec . . Updated jpl. . Updated MacOS ssl version in bundle to 1.1.1f. . Preparing version 8.1.29.
8.1.2710 Apr 2020 05:25 minor feature: PORT: Added CMake script to find tcmalloc . ADDED: Detect tcmalloc() and link `swipl` using this if provided. . ADDED: thread_idle/2 and, when linked to tcmalloc, malloc_property/1 and. . Document Cmake option `-DUSE_TCMALLOC=OFF`. . Only find the parts of tcmalloc() we really need. . PORT: Use our internal PL_dlsym() and work without tcmalloc. . PORT: Make tcmalloc setup work on MacOS. Signalled by Paulo Moura. . ADDED: check_installation/0: check for tcmalloc. . Updated pcre. . ADDED: trie_property/2, statistics properties to access the IDG size. . ENHANCED: Use mmap() based allocation for the stacks such that we can. . Updated ssl. . heap statistics keys when stacks are mmapped. . BUILD: Install the manual index as part of the documentation installa . . ENHANCED: Use new mmap() based allocation more generally for large te . . : Stack alloc statistics. . Updated clib. . : Added meta-predicate declaration for thread_idle/2. . Updated http. . Updated ssl. . ADDED: predicate_property/2: size(-Bytes). . ADDED: module_property/2: size(-Bytes). . ADDED: statistics/2: atom_space and functor_space to get the used mem . . ADDED: thread_property/2: size(Bytes) property. . CLEANUP: Move notion of highest thread id to global data structure. . ADDED: statistics/2 `threads_peak` to get an indication of the highest. . Relax thread property test. . INSTALL: Added CMake option SWIPL_INSTALL_IN_SHARE=ON to install arch . . CLEANUP: No longer allocate array for built-in atoms. This array is no. . Updated ssl. . More complete memory usage assessment for predicates: include foreign. . Updated ssl. . Updated http. . ENHANCED: Use new tmp_malloc() for segstacks (used as temporary store . . ENHANCED: Use temporary allocation for _buffers_ and discard large bu . . DOC: PL_initialise() referred to old `libpl.dll`. Gerhard Groehner. . PORT: Replace GCC __sync_ functions by more recent __atomic_ primit . . DOC: Provide pldoc_to_tex flag when generating La
8.1.2419 Mar 2020 16:45 minor feature: print_term/2: handle write_options(...). . Cleanup gcd to improve code reuse. . ADDED: function lcm/2. This patch also gcd(X,0) to evaluate to X. . Updated xpce. . : Garbage collection handling for walking remaining clauses for. . ADDED: library(prolog_code): is_control_goal/1. . Updated xpce. . Updated packages http, nlp, odbc, pcre, pldoc, semweb, table, utf8proc. . Updated ssl and http. . : Copied new rationalize/1 implementation from ECLiPSe by Joachim. . Updated clib. . PORT: Added test for HAVE_IP_MREQN to Sockets.cmake. . PORT: Replace deprecated finite() with isfinite(). Paulo Moura. . TEST: Added roundtrip tests for rational/1 and rationalize/1 functions. . : prolog_program_clause/2: allow filtering on a specific module . . Avoid plunit name conflict. . Updated ssl and http. . Updated http. . ADDED: ' portray_text_enabled'/1 to allow the GUI tracer to inspect. . Updated xpce. . PORT: lgamma for sign of inf on some platforms. . TEST: Additional and test for rational and IEEE 754 tests. . DOC: Updated instructions for cross-compiling SWI-Prolog for Windows. . Updated http. . Updated http. . Reduce dependencies from ansi_format/3 to avoid recursive autoloading. . Updated http. . : XSB library(tables), get_returns/2 to use new answer subsumption. . : XSB library(increval), incr_table_update/0 call to reeval/1. : Avoid :- expects_dialect/1 from depending on autoloading libra . . ENHANCED: Avoid predicate_property(+Head, built_in) trying to define the. . Updated HTTP. . Updated jpl. . : handling rational numbers in records could result in wrong val . . : Get foreign search setup better to reduce search on Windows and. . Added demessages for Windows API calls in `pl-nt.c`. . Updated jpl. . Added DDE destatements. . Updates xpce. . BUILD: Build Win64 version against OpenJDK 13 instead of the latest ( . . Preparing version 8.1.24.
8.1.2328 Feb 2020 00:05 minor feature: Updated plunit . DOC: `float_rounding` flag was undocumented. . Layout. . ADDED: library(sandbox): allow access to various new flags. . Updated pengines. . ADDED: float_class/2 to classify the various non-normal IEEE 754 float. . Define float_class/2 as sandbox-safe. . : Arithmetic comparison to NaN should always fail. . .5NaN is before all numbers in the standard order of terms, also. . Updated docs for `large_files` flag. . : print_term/2: handle spacing for postoperators. . : Missing () around record can cause syntax errors if library(re . . : Getting the local build home directory if not installed in a s . . : atom_number/2 in mode (-,+). . TEST: IEEE 754 float handling by Rick Workman. . : Respect `float_round` flag when converting from GMP numbers to . . : print_term/2: avoid quoting _solo_ operators such as ','. . : print_term/2: add a spaces in `X + -1`. . Updated pengines. . : Load `library(dialect/swi/syspred_options))` explicitly to have. . IEEE 754 rmode tests. . Declared indent(Num) option of portray_clause/3. . PORT: Windows: Do not include manifest when building with MSVC, since it. . By default enable `O_DE_ATOMGC` in a debuild. This provides tr . . : Missing PL_register_atom() when compiling `module:X`. Can lead to. . MSVC: LNK1114 error when building libswipl statically. . : SWIPL_SHARED_LIB=OFF, MULTI_THREADED=OFF: C_CFLAGS being undef . . TestGNUQsortR.cmake: Corrected CMake variable cache help string. . : swipl-win.exe (Windows): padding to TCHAR. Röbke Geenen. . : Use the lock/unlock code for streams also in the single threaded. . : Destatement in pl-tabling.c which depended on multi-threading. . Avoid Long ===...=== in code to make GIT merge conflicts easy to find. . ENHANCED: Further implementation of IEEE 754 support by Rick Workman. . : Memory leak on exception during GMP arithmetic in optimized mode. . ADDED: roundtoward/2 function. . ADDED: Compiler/VM support for roundtoward/2. This patch also reverses
8.1.2107 Feb 2020 00:45 minor feature: DOC: Add library(prolog_jiti) to the manual. . DOC: predicate_property/2 enhancements. . DOC: Updated man/gen/swipl.bbl, the generated LaTeX bbl file used for . . Updated http. . Outdated comment. . ADDED: library(thread): call_in_thread/2 to run a goal synchronously . . ADDED: tbacktrace/1,2: print the stack of another thread in the console. . Updated http and ssl. . ADDED: prolog:deprecated//1 to generate dedicated deprecated messages. . DOC: Added library(thread) to main documentation. . Only trap error(_,_) exceptions. . Updated ssl. . ENHANCED: read_term/2,3 should not create a new module if the option. . : Possibly use-after-free while inserting a node in a trie. This . . Updated pengines. . XSB: provide thread_shared/1. . XSB: Added `thread` module. . XSB: Added coninc/1,2 to the `gensym` module. . MODIFIED: format/1-3: raise an exception if there are more argument than. . XSB: :- table/1: accept `as private`. . MODIFIED: resource_error(table_space) is now one of resource_error(pr . . : Create the `shared_table_space` Prolog flag. . : mutex_statistics/0: keeping trackof known mutexes was broken. . ADDED: Collect statistics on shared tabling: deadlocks and events where. . Collect statistics on the mutex used to get synchronized access to a. . : Avoid predicate_property(_:Head, visible) with instantiated Head. . XSB: abort/1 is an XSB built-in rather than defined in `error_handler`. . Missing newline in listing comment. . XSB: properly implement not_exists/1. . ENHANCED: tabling with answer subsumption: as normal tabling, only add. . dubious table declarations in tests. . : table/1: answer subsumption (mode) specifications with only in . . : XSB get_residual/2: also deal with answer subsumption. . Updated semweb. . DOC: deprecate old meta predicates and explain +/1 vs. not/1. . MODIFIED: Do not prompt if `user_input` is not connected to a terminal. . DOC: Updated docs for prompt/2. . Updated table. . : Docs says that prom
8.1.2016 Jan 2020 16:25 minor feature: Updated pengines . : set_prolog_IO/3: make sure the file_no(N) stream property is r . . Updated http and clib. . remove deprecated use_module directives. . MODIFIED: shell/1,2: if the `user_input`, `user_output` and `user_error`. . Added nodescription. . ADDED: Support configuration and building of foreign packs using CMake. . ENHANCED: CMake based packs to run `ctest` if the project defines tests. . ENHANCED: library(prolog_colour): qualified tabling declarations and . . Updated http. . MODIFIED: on_signal/2 now interprets `de` as reserved handler name. . DOC: Updated and clarified documentation for on_signal/3. . Try to break out of main loop on abort if exit has been requested. . : on_signal/3 not to fail if the signal is bound to a handler in. . Demessage for thread cleanup. . ENHANCED: Properly handle console mode management if we are communica . . Updated libedit. . : Handle 'e' in the deger from a thread. Now safely terminates. . Added ' execute_query'/3 as public predicate for reuse in SSH server. . Updated libedit. . : PL_thread_attach_engine() if this call fails, do not leave the. . Add '-f none' to invocations of PROG_SWIPL, to avoid interference fro . . ADDED: thread_alias/1 to give a thread an alias name after creation. . MODIFIED: The deutility mutex_statistics/0 now prints its output. . Updated clib. . : clause GC may mark indexes as dirty even though they do not in . . Add CGC unit test for sweeping indexes which may not include deleted . . DOC: Correct a few typos, supply leading zeroes in ISO 8601-style dates. . Correct some typos in bib reference to Covington et al 2012. . Protect occurrences of the word 'Prolog' from lowercasing (or try to). . Add braces to protect capitalization (may or may not have gotten them . . Updated pldoc. . Improved Should I be using SWI-Prolog? section. . typo: through not though. . TEST: tests for library(dcg/high_order). . Updated clib. . Use ==/2 instead of =/2 in unit tests. .
8.1.1926 Dec 2019 15:45 minor feature: Mutex initialization for the new `L_OSDIR` mutex. . Preparing version 8.1.19.
8.1.1705 Dec 2019 21:05 minor feature: Updated http . Updated http. . : db_sync(gc(always) to really always write the persistent db. . : Wrapping meta-predicates. Abramo Bagnara. . Updated libedit. . Document subsumptive tabling answer retrieval. . DOC: limit/2 doc for _Count_ argument. . : Calling incremental tabling for subsumptive tabling. . : is_most_general_term/1: failed to clear marks, causing invalid . . ADDED: Simple implementation for subsumptive tabling. Handles reuse of. . Simplify diagnostics. . ADDED: Prolog flag `table_subsumptive' to select (default) subsumptiv . . TEST: Added XSB subsumptive tabling tests. . XSB: Provide consult/1 from library(consult) and slash/1 from library . . XSB: fmt_write/2,3: cache format translation. . Updated pldoc. . : Crash in thread cleanup if the OS thread could not be created . . : reset_profiler/0. Needs to clear `prof_node` in the environments. . ADDED: thread_get_message/1-3: allow more selective matching of terms. . DE: Dump Prolog stack on fatal errors (in safe mode, i.e., without. . Typos in XSB timed_call/2 emulation library. . Added ' tbl_table_pi'/2 to make abstracting IDGs to the predicate level. . MODIFIED: catch_with_backtrace/3 now captures the backtrace without d . . Improve trie demessages. . : : possible crash in trie_gen/2,3. Farbrizio Riguzzi. . Avoid creating an indirect table if we try a lookup without `add`. . Updated ssl. . Updated clib. . Preparing version 8.1.17.
8.1.1614 Nov 2019 10:25 minor feature: PPA: Added eoan to list of distributions . BUILD: Use `-f none` for manual build steps to avoid dependencies on. . More elegant way to deal with XDG system config paths. . MODIFIED: Stop handling `lib` below the current directory as a librar . . ADDED: ' my_file'/1 to check that the user running the current process. . ENHANCED: Avoid creating config files and directories below directories. . Updated xpce. . CONFIG: check_installation/0: check for config files. Added. . Include PPA for Eoan Ermine. . : check_config_files/0: old location of packs is /lib/swipl/pack. . url in messages.pl. . Updated http. . Updated pldoc. . : : ` ` was ordered between ISO-latin-1 and wide atoms. . typo, grammar. . : : library(progman) string compatibility. Paulo Moura. . DOC: : absolute_file_name/3 on directories. . ENHANCED: Removed sinh and cosh functions from ifprolog emulation as . . Updated pldoc. . DOC: : duplicate docs for guitracer/0. Also updated docs for. . Updated PlDoc. . Avoid compiler warnings. . : Avoid writing to a freed allocation pool. . : When removing predicates from a temporary module we can destroy. . : Single threaded compilation. . Updated ssl. . Preparing version 8.1.16.
8.1.1522 Oct 2019 19:45 minor feature: Documentation and profiler exit summary. . ADDED: profile_procedure_data/2 to quickly interrogate individual pre . . : profile_data/1. Broken after adding profile_procedure_data/2. . Updated comments. . Changed ' prof_node'/7 to /8 (adding sibling counts). . MODIFIED: low-level profiler access predicates to communicate about p . . Updated xpce. . ENHANCED: library(random): performance of randset/3 and randseq/3 for . . Updated ODBC. . Updated odbc. . Comment on trie choice generation. . ENHANCED: trie_gen/2,3 for when matching an instantiated value against. . : profile/2 using cumulative(true) without GUI. Abramo Bagnara. . ENHANCED: GC: remove links to unreachable volatile atoms. This improves. . Cleaner demessage. . ENHANCED: If a significant part of the clauses that are candidate for. . XSB: Added emulation of _Term Writing to Designated I/O Streams_, module. . : statistics/2 for `table_space_used` multiplied the value incor . . Better tracking of used table space (still incomplete). . Updated comment on profiler low-level collection function. . More comment updates. . ADDED: prolog:open_source_hook/3 to allow hooking the final open for the. . ENHANCED: peek_string/3 now allows peeking the remainder of long inpu . . XSB: Exploit peek_string/3 to realise the required two phase processing. . XSB: Added library(dialect/xsb/gpp) to use the XSB preprocessor. . DOC: XSB dialect. . Updated xpce. . : lock queue table when performing AGC as another thread may be. . ADDED: PL_put_uint64(). Suggested by Mathijs van Otterdijk. . Updated clib. . PORT: Use _NSGetEnviron() instead of `environ` on MacOS when available. . : Windows: tmp_file/2 memory leak. . MODIFIED: Place the personal init file in a common place on all. . Updated xpce. . Updated copy of edit script. . DOC: Updated customization files and install them. . SNAP: Add snap package. . Snap says it needs a few more packages. . Although these files are reported as missing, they rea
8.1.1401 Oct 2019 21:45 minor feature: Avoid local name confusion . : library(prolog_codewalk): limit initialization goals to target . . ENHANCED: error checking and reports from ' pi_head'/2, propagating into. . ADDED: library(prolog_code), providing several commonly used predicates. . Deleted double import. Paulo Moura. . : library(prolog_colour): prolog_colourise_query/3. . Removed double import of same module. Paulo Moura. . : ansi_format/3: handling of h(Name) for 8-bit color specification. . CLEANUP: subsumes_chk/2 and subsumes/2 are provided by library(terms). . Updated http. . Updated cql, http and pengines. . XSB: Started implementing de_ctl/2. . XSB: provide incr_asserta/1 and incr_assertz/1. . XSB: extended module `machine` with conset/2, conget/2 and parsort/4. . XSB: Started extended version of XSB's library `lists`. . XSB: Several enhancements to the emulation: Added (very partial) fmt_ . . ADDED: limit/2: allow for a limit `infinite`. . XSB: Support `de_ctl(hide, Preds)`. . : trie_gen/2,3: deal with last-argument optimization. Reported by. . ENHANCED: Speedup =/2 using a shortcut for the simple cases. . Updated pengines. . Oops, left print statement shouting "Failed". . ENHANCED: Instead of using the wrap_predicate/4 interface to trap. . Highlight `opaque` as table option. . STATS: removed trie statistics `gen_exit_count` and `gen_fail_count`. . . : single-threaded build. Abramo Bagnara. . XSB: Added timed_call/2 emulation. . Updated libedit. . Updated libedit. . Updated tipc. . : `clauses` and `codes` statistics for compiled tables. . Updated clib. . XSB: Silently ignore de_ctl/2 calls that are not supported. Added . . Internal cleanup for profile data. . ADDED: profile_data/1 to library(statistics) and use dicts for dealin . . ADDED: Make number of passes through the exit port available from. . Updated xpce. . Added destatements for profiling. . : profiler: bump redo access on parents. . : profiler: avoid falsely reported self-recursion on auto-lo
8.1.1310 Sep 2019 14:25 minor feature: PPA no longer accepts a short key id . Drop PPAs for Ubuntu Cosmic (obsolete). . : A #! script should pass all arguments to the application. Chri . . Preparing to deal with shared incremental tables. Notably resolve the. . : trie_gen/2,3 if a variable in the trie is matched against a co . . Make change forwarding from assert/retract use both the global and local. . We should not use prolog_de/1 in normal tests as these detopics. . selecting shared/private table. . : re-evaluation of mutually dependent incremental dynamic goals. . Handle deadlock exception during re-evaluation. . Code simplification. . : update for multiple incremental tables depending on the same. . Avoid claiming a shared table if we only want its return skeleton. . Move code to a function to simplify deging. . Move a few more predicates to the new API. . MODIFIED: Do not use reconsult delay for predicate attributes set for . . Provide a code path that detects that reloading a file dropped a tabling. . ADDED: detect removal of table/1 directives during reconsult and call . . ADDED: Partial support to include table directives in listing/0,1,2. . When trapped from reconsult, the clause is no longer present and thus we. . Delay untable events. . : Remove tabling if directive is removed from the source file. . : Delayed events on clauses could crash because the clause could be. . : : crash in term_singletons/2 if second argument is in . . : wrap_predicate/4 for foreign predicate could cause data corrup . . Include calls to compiled tries in the trie statistics. . ADDED: trie_property/2, `compiled_size(Bytes)`. . : Highlighting for qualified table declarations. . ADDED: is_most_general_term/1. Compatibility with XSB. . Use is_most_general_term/1. . ADDED: prolog_colourise_stream/4, providing an operators(+Ops) option. . ENHANCED: Allow prolog_colour:goal_colours/2 to overrule builtin defi . . Updated xpce. . : ' tbl_table_status'/4 if return skeleton is instantiated. .
8.1.1120 Aug 2019 21:05 minor feature: ENHANCED: Get rid of ' wfs_call' in default backtrace. . : win_folder/2: avoid messages _did not clear exception_. . ADDED: Windows (swipl-win.exe) win_window_color/2 to change the color . . ADDED: Allow hooking console coloring. . ADDED: ansi_format/3: support 8-bit and true color escape sequences. . ADDED: library(theme/dark) as a first example for defining themes. . BUILD: Added the Windows daily build script for reference purposes. . : win_window_color/2: set selection colors. . THEME: Windows: set console colors. . THEME: Allow hooking online manual styles. Added colors for manual. . THEME: Added styling the core GUI compoments: PceEmacs and the. . Updated xpce. . ADDED: with_tty_raw/1: run code with terminal in raw mode (if possible). . ADDED: ansi_get_color/2 to library(ansi_term) to find the current for . . Define with_tty_raw/1 as meta predicate. . THEME: Provide automatic theme selection. . DOC: Theme support. . TEST: Start migrating nonmt_tests from XSB. . TEST: Do not load personal init file (`-f none`) to avoid interferenc . . TEST: Enable XSB nonmt test dir. . TEST: added three new XSB test files. . ADDED: prevent modifications to incomplete incremental dynamic predic . . PORT: Do not try to get the background color of Apple Terminal as it . . TEST: broken xsb test. . Typo in doc for with_tty_raw/1. . Try to avoid blocking in ansi_get_color/2. . ENHANCED: Some further generalizations of theme handling. . : ansi_get_color/2: Need to switch mode before sending output as . . CLEANUP: generalise internal ' hide'/1 and document these internal di . . ENHANCED: Avoid call/1 for calling cleanup handler of call_cleanup/2 and. . Small simplification of call/1. . Cleanup old code. . WIP trying to discard tables after an exception. . Deger hide. . Add detopic MSG_TABLING_EXCEPTION. . More demessages. . Keep IDG consistent after an error. . MODIFIED: allow predicate update hook to veto the assert/retract. . Destatement. . : R
8.1.1030 Jul 2019 11:25 minor feature: do not include resources defined using resource/2 in runtime s . . Updated xpce. . Updated semweb. . Updated clib. . Updated clib. . Updated ltx2htm, odbc, semweb and xpce. . CLEANUP: silence gcc 9 (benign). . : swipl-ld: possible buffer overrun. As this is just a helper pr . . Updated odbc. . Updated odbc. . Updated clib. . : Avoid deep indexes on arguments that have variables. Creating was. . ADDED: tracing/2. . Updated xpce. . Updated xpce. . Updated xpce. . : table/1: avoid discontiguous warnings. Edison Mera. . : avoid discontiguous warnings for tabling with answer subsumption. . ENHANCED: _compiled tries_ to speedup answer generation from tabling and. . Distinguish tries with and without values. . ADDED: trie_gen_compiled/2, dealing with tries that only represent a . . DOC: New trie primitives. . ADDED: shared table declarations. . : Do not try to recompile out-of-date installed QLF files. . MODIFIED: raise errors on undefined command line arguments. Also, the . . Updated xpce. . Updated clib. . Preparing version 8.1.10. . Move manual abstract into a new file to avoid writing it twice. . Removed outdated UvA and VU logos. There are too many contributors. . DOC: Updated the abstract. . DOC: Introduction updates.
8.1.909 Jul 2019 14:45 minor feature: sandbox declaration to allow tabling. . Keep pointers to variables in trie_lookup, preparing for a more effic . . Make variables from a trie lookup accessible. . ENHANCED: Better representation for answer term return terms. By using. . Return template may need stack resize. . Avoid full PL_open_foreign_frame(). Just a Mark is enough as there ar . . Avoid PL_open_foreign_frame(). . DOC: call_residual_program/2 LaTeX error. . MODIFIED: halt/1 accepts 'abort' arg to terminate Prolog via abort(). . . DOC: halt(abort). . Bumped SSL versions in dependency scripts. . Wrap termination signals in #ifdefs blocks. . : Skip over a deleted node while backtracking over a trie. . : Stack allocation for pushing the table return template. . : Reset the argument stack on failure during trie unification. Lead. . TEST: Added tests for recent memory errors. . XSB: Started emulation of library(consult). . XSB: Ignore index/3 as a directive (what does this do?). . ADDED: abolish_module_tables/1. . XSB: Added abolish_table_call/1 to library(tables). . XSB: added gc_tables/1. . XSB: Make get_residual/2 work on imported predicates. . : abolish_table_subgoals/1 to deal with imported predicates. . : Make toplevel behave correctly if the tables underlying a WFS. . Cleaner reclaim of delay info. . XSB: added gc_tables/1. . MAINTENANCE: Provide ninja/make `etags` target. . Layout. ENHANCED: allow for abolishing answer tries that are active (on a cho . . TEST: Partial copy of the XSB `table_tests` test set. . Ignore.xwam files in the XSB hierarchy. . : table/1: Allow specifying arity-0 predicates with just their name. . XSB: abolish_table_pred/1 must remove all tables, also if the head is. . TEST: Completed import of XSB table_tests/abolish tests. . TEST: Correct pred_abolish_cycle.P test. . TEST: results for pred_abolish_dag.P. . XSB: Include library(tables) by default. . TEST: Added several XSB tests from the table_tests test set. . ADDED: table/1: allow for
8.1.818 Jun 2019 14:05 minor feature: ADDED: dynamic invocation of table/1 . : abolish_table_subgoals/1 failed if no tabling has been done in . . ADDED: untable/1. . DOC: updated table/1 docs and added untable/1. . : trie_gen/2,3: instantiated indirect (float,string) that match . . ENHANCED: rewrite trie unify_key as a switch. . : Enumerating tries that have NULL values (deleted nodes that have. . : Trie statistics, notably on the tabling the variant trie. . Updated xpce. . Improved destatements for tabling and reduce overhead. . ENHANCED: Avoid popping worklists with no work. . : Memory leaks in tabling: reclaim variant skeletons and answer . . ENHANCED: Avoid quadratic behaviour on deep tnot/1 negation chains. . : : is_lambda/1 failed on valid yall lambda expressions. . Moved undefined/0 to a built-in. . ENHANCED: More aggressive marking of tables as answer completed. . ENHANCED: Working on #ifdef O_AC_EAGER to switch between eager and. . Recursively keep track of simplifications. . Keep worklists around that may be needed for answer completion. . De: report deleted notes in answer clusters. . ENHANCED: Remove answer clusters from worklists when completing. . Skip answers that have been pruned due to early simplification. . Simplify and comment ' tbl_wkl_is_false'/1. . ENHANCED: Allow switching between eager and lazy AC. Default is. . : Lazy version should also avoid recursive AC. . Better deoutput. . : Undefined and simplification admin to make lazy AC really work. . Only run SWI-Prolog test suite once when invoked via 'make check'. . : combination of deep indexing and clauses with a variable at th . . Detopic. . : WFS: produce proper residual program for positive delay elements. . Keep track of variables in trie choice nodes. . ENHANCED: limit search for trie_gen/3. Starts creating choice points. . ENHANCED: Avoid POP for outermost trie element. . ENHANCED: Use POPN sequences for reduce memory usage and speedup of r . . ADDED: extended statistics for tries. . :
8.1.628 May 2019 19:05 minor feature: PORT: Set MacOS deployment target to 10.12. . PORT: Provide correct LDSOFLAGS for compiling extensions from the MacOS. . Updated pengines. . Updated readline. . PORT: Allow MACOSX_DEPENDENCIES_FROM to specify a directory with the . . PORT: Added scripts/macos-deps.sh to build the MacOS dependencies fro . . PORT: Use the self-compiled MacOS dependencies for creating the MacOS . . PORT: Use `--enable-fat` for building gmp for the Mac Bundle as. . Correct spelling in 2.16.1.3. . TEST: Broken test after to assert to a static predicate. . Better messages, safer limit. . : possible unneeded fatal stack overflow after an earlier caught . . Move test_installation/0,1 to a more logical place. . TEST: Make test_installation work when swipl is started from a relati . . DOC: incorrect argument name. . INSTALL: Clarified CMake versions. . MODIFIED: _PL_get_arg() from void to int return value. Makes it easie . . ADDED: predicate_property/2: tabled(How) property, compatible with XSB. . ADDED: portray_clause/3: indent(Indent) option. . ADDED: Tabling to support Well Founded Semantics. Work suppored by. . Further generalization of XSB test framework. . TEST: Include XSB WFS tests. . TEST: Added (unmodified) XSB delay tests. . TEST: Added XSB PTQ tests. . ADDED: Integrate WFS with the toplevel. . Updated pengines. . Small. Document WFS support. . Preparing version 8.1.6.
8.1.507 May 2019 19:25 minor feature: Updated http . ADDED: xref_callers/5 which includes caller's line number. . MAINTENANCE: Make `-DMAKE_BUILD_TYPE=Sanitize` work on Fedora. . : Cleanup of thread-local procedures in temporary modules failed . . BUILD: Clarified some in `CMAKE.md`. . Updated http. . Updated clib. . : clause_info/2: possible too native unification can lead to inc . . Updated clib and paxos. . : verify_safe_declaration/1 leaves a choicepoint. . DOC: PL_chars_to_term() after request on forum. . Deging: allow consistent reporting for worklists between Prolog an . . Comment. . Experiment to color elements in messages. . typo: listing to listen. . Updated readline. . Updated ssl. . Adds FreeBSD specific headers and a typedef to pl-thread.c. . check for the timezone variable. . Removes check fo malloc.h on FreeBSD. . PORT: adds checks and ifdefs for FreeBSD headers and cpuset_t. . DOC: Locale initialization. . DOC: Updated README.md. . mardown typos. . Slight improvement. . Enhanced deging for tabling. . PORT: f03da, FreeBSD headers. . : a suplus dot in a test. . Updated zlib. . Updated pcre. . Updated pldoc. . Spelling: "equavalent" - "equivalent". . PORT: up Info.plist for MacOS version. See. . Updated http. . Minor for tabling test library. . TEST: Tabling answer subsumption test by Fabrizio Riguzzi. . : Component merging for answer subsumption. Fabrizio Riguzzi. . PORT: On MacOS use `cc` and `c++` as compilers in `swipl-ld`. The CMa . . Updated archive. . Updated archive. . PORT: MacOS: When running as bundle, report the Frameworks directory . . DOC: updated the calc foreign example. . Preparing version 8.1.5.
8.1.416 Apr 2019 14:45 minor feature: PORT: Support profile guided optimization for clang. . Updated clib. . : re-enable file consult messages when a file is consulted from the. . ADDED: : tmp_file_stream/3 sets the `file_name` property of . . PORT: PGO optimization using Clang to be flexible on the profile file . . Updated sgml. . ENHANCED: Colour :- table/1 declaration. . MAINTENANCE: Improve deging support for tabling. . XSB: Added get_returns_for_call/2. . ADDED: C support for negative tabled nodes: marking is negative, resu . . Removed simple tnot/1 from xsb.pl. . ADDED: tnot/1: tabled negation. . DOC: tnot/1 and new table scheduling. . TEST: Added XSB negation tests. . Remove old partial tabled negation predicates from the xsb emulation. . TEST: Actually make CTest fail on failing XSB tests. . Typo in destatement. . XSB: module context for :- table/1 when loading.P modules. . Updated clib. . MODIFIED: Delay determining the associated files on the command line til. . Updated clib. . UPdated pldoc. . Updated paxos and clib. . Updated pldoc. . Updated clib and paxos. . : Drop the program from the Prolog flag `argv` for a saved state . . : print_term/2 to print zero-argument compounds. Peter Ludemann. . PlDoc typo. . : Make loaded C++ foreign libraries visible through current_fore . . : library(ansi_term): loading should not set the `color_term`. . Updated paxos. . Updated paxos. . DOC: Migrate documentation of library(readutil) from LaTeX to PlDoc. . ENHANCED: Do not setup colors if ` TERM == dumb`. Also, when librar . . Updated table. . Updated ltx2htm. . : Using a thread_local predicate inside a temporary module could. . SECURITY: utf8_strlen() on non-null terminated input may read beyond . . Updated clib and sgml. . ENHANCED: Avoid deep mutual recursion in trie node deallocation and f . . Preparing version 8.1.4.
8.1.326 Mar 2019 18:25 minor feature: COMPATIBILITY: Allow basic saved states to work with --traditional. . ENHANCED: Allow goal_expansion/2,4 to wrap a goal. . ENHANCED: goal_expansion/2: when wrapping a goal, do allow the same e . . DOC: expand_goal/2 discussing -point computation for generating . . Added TRIE_KEY_POP to delimit nodes. . Added extern_indirect_no_shift(). . Wip on try unification. . Make new code compile. . Compiling. . TEST: Test trie_gen/3 variable sharing. . Passes tests. . : Avoid excessive GC because the system incorrectly believes it . . : `swipl.exe --dump-runtime-variables` to provide the right valu . . PORT: `swipl-ld.exe` to configure for native MinGW tools. . : tries for complex nested terms. introduced with new trie_g . . : trie_gen/3: Variable database resizing. . TEST: Moved trie tests from core to tabling for better balance. . ADDED: Collect statistics over most recent garbage collections, inclu . . ENHANCED: Make gc scheduling dependent on the sizes of all stacks. . TEST: Adjust test parameters for changed GC policies. . CLEANUP: Use new unification style extraction for trie terms for also. . : trie_gen/3: memory leaks. . DOC: Updated demo/README and renamed to README.md. . Cleanup freeing worklist sets. . : Reenable actually freeing worklists. . Possibly crash in trie_gen/3. . PORT: Conditionally deal with `-fprofile-dir=` and `-Wno-maybe-uninit . . Removed CMake message() used for deging. . XSB: Added dummy implementations for set_pil_on/0 and set_pil_off/0. . : reloading a file with tabled predicates sometimes failed to re . . : :- table/1: undefined predicate check should ignore implicitly. . TEST: Added xsbtests/basic_tests test suite from XSB Prolog to our te . . XSB: handling a redefined XSB module if the redefined SWI-Prolog. . : ' tbl_table_discard_all'/1 deleted worklists twice. . TEST: Added XSB `ai_tests` set to our test suite. . Renamed length/2 to mylength/2. . XSB test framework to ignore empty lines and ==== lines fr
8.1.205 Mar 2019 20:45 minor feature: PORT: Allow building in Haiku . Updated pldoc. . Updated http and pldoc. . Be both wiki and human friendly. . BUILD: Allow scripts/pgo-compile.sh to run from any build dir, also if. . XSB: Ignore :- ti/1, allow for cyclic module dependencies and start e . . Updated swipl-win. . MODIFIED: display/1,2 now write lists using the internal SWI-Prolog. . Updated pldoc. . : Declare dynamic/1, multifile/1 and discontiguous/1 as `iso`. This. . Updated pldoc and http. . XSB: Added various predicates to the emulation libraries. . XSB: Work in progress. . : PL_thread_attach_engine(NULL) crashed. Stisko. . Updated jpl. . Updated http. . : return exit code if swipl -c fails. . PORT: Avoid dependency on C99 for alignment check. . XSB: Get directives to the head. Order doesn't matter for XSB, which . . XSB: More emulation. . : pack_remove/1 if the pack exists but was not attached due to a . . : library(prolog_colour): Avoid an exception on :- meta_predicat . . Updated http. . TEST: Move tabling tests into their own subdir so we can run only those. . DE: Added Prolog flag `prolog_de` if the system is compiled in. . DE: Adding conditional destatements to boot/tabling.pl. . Updated sgml. . PORT: Make alignment detection work for Emscripten. . PORT: Make sure to include CMAKE_CROSSCOMPILING_EMULATOR when setting . . PORT: Remove `-s BINARYEN_METHOD='native-wasm'` as this is no longer . . CLEANUP: we no longer need a _native friend_ with the same address bits. . PORT: Emscripten: by default use the `native friend`. . Updated pengines. . ADDED: Sandbox declarations for nb_linkval/2 and nth_integer_root_and . . Updated semweb. . Speedup for calling `' sig_atomic'(true)`. . ENHANCED: Avoid trapping dehooks for setup_call_cleanup/3 and. . Updated pengines. . ENHANCED: allow plain integer values to be passed to --stack_limit co . . : convert 'annotated' stack_limit command line option to an inte . . --stack_limit typo. . BUILD: Update CMAKE.md and en
8.1.110 Feb 2019 20:05 minor feature: DIST: added packages/windows directory to source archive. Keri Harris . DOC: qsave_program/2: stack size documentation. Keri Harris. . Updated table. . BUILD: Updated minimum CMake version required to 3.5. . Updated all packages for minimum CMake version. . PORT: Generate i386 binaries on x86_64 Debian based Linux systems. . : possible crash when loading saved states that contain procedur . . Comment on NULL module that may appear in certain instructions. . DOC: Updated expand_term/2 documentation. . Updated http. . Convert AlignOf check from C++ to C. . Use dynamic allocation for reloading clauses from QLF files. This pre . . Introduce labels for relative jumps, preparing to deal with resizing. . Removed word-size from state header and related checks. Changes. . Remove size of environment header from variable offsets to make clauses. . CLEANUP: Proper range test (LONG_MAX - INPTR_T_MAX). . ADDED: Prolog flag `portable_vmi`. . Change instructions relying on small tagged integer arguments to only. . Embed wide strings as UTF-8 in QLF files. . Embed GMP integer as portable binary integers in QLF files. . CLEANUP: Name the boot file simply boot.prc as it no longer depends o . . ENHANCED: Removed conditional code from the boot file. This ensures we. . CLEANUP: Move saved state generation to library(qsave) to simplify in . . Silence list_undefined/1 when checking `system` modules for condition . . Updated jpl. . Credit XSB for the name Answer Subsumption. . : load_files/2: Added predicate option declaration for. . ADDED: term_expansion/2,4: add pseudo term `begin_of_file` to the exp . . : prolog_load_context/2 to provide the correct `file`, `source` and. . PORTABILITY: Started XSB dialect specification. . : Allow qcompile/1 on files with a different implicit Prolog. . Ignore :- index/1 and :- index/2 for the XSB dialect. . HACK: Use (index)/1 instead of index/1 to avoid a conflict with XSB. . XSB: Partial compile/2 emulation. . : in_tem
8.1.020 Jan 2019 13:05 minor feature: Updated xpce and clib . PlDoc typo. . Updated pengines. . Wrong internal comment. . : : use install target at final fallback for SWI-Prolog's. . PORT: pthread_setname_np() in NetBSD has three arguments, the 2nd. . PORT: Define fopen,ftello,fseeko 64 functions for NetBSD. . CLEANUP: Remove unused getwd() definition. . ENHANCED: Remove unused QSORT_R_WITH_NESTED_FUNCTIONS sort_r(). . ENHANCED: goal expansion for library(yall). Patch by Paulo Moura. . Updated pldoc and sgml. . Removed old make files. . Updated packages. . : library(prolog_colour): exception when zero-argument compounds. . Updated http. . Updated http. . : string_code/3 1-based index for -,+,- and +,+,- modes. . Updated http and ltx2htm. . Updated http. . Updated http. . Updated http. . : : clause_info/5: binds DGC tail when decompiling a DC . . Updated pengines. . DE: Print C-stack when falling back to C-defined printMessage() be . . Updated http and clib. . Updated ssl and tipc. . ADDED: PL_get_stream(): allow for SIO_NOERROR flag to suppress errors. . Updated clib. . Updated clib and tipc. . : Windows version: make wait_for_input/3 available again. With help. . MODIFIED: (StreamPair) now its output before the input. . Updated clib. . Updated http. . Updated clib. . Try to avoid some duplicate changelog entries. . Updated pldoc. . Updated clib. . error code when closing a streampair. . print_backtrace_named(): Only print most recent. . : Various concerning stream error propagation. . MODIFIED: run thread exit mode while signal handling for the dying th . . Updated archive. . DOC: thread_at_exit/1: goal is run without signal processing. . DOC: LaTeX error. . PORT: Get WSAPoll() for Windows. . Preparing version 8.1.0.
7.7.2530 Dec 2018 12:25 minor feature: Updated jpl . Documentation typo. . Updated pldoc. . Updated pldoc and odbc. . ENHANCED: identifier_parts/2: support Prolog symbol identifiers. . ADDED: identifier_parts/2: deal with Prolog singleton identifiers. . Updated pldoc. . Removed test.zip binary. Lev Lamberov. . Updated pldoc. . BUILD: Document `-DSWIPL_INSTALL_IN_LIB`. . ENHANCED: Declare library(solution_sequences) predicates transparent for. . Updated pldoc. . BUILD: Add `nlp` package dependency for building pldoc2tex. . Updated pldoc. . Updated pldoc. . Add public declaration to avoid xref warning. . : thread_send_message/2,3: possibly double unlock of the message. . Updated jpl. . DE: If supported, print location where an ignored exception was. . DE: Also test wheher an exception is pending at the start of a for . . MODIFIED: Consider an exception from an asynchronous signal handler a . . : Track exceptions from hooks called at thread termination. . Updated xpce and pldoc. . ADDED: library(dcg/high_order), providing meta-predicates over DCGs. . DOC: added dgc/basics.pl and dgc/high_order.pl to manual. . Updated pldoc. . Small simplification. . ADDED: non_terminal/1 to declare grammar rules and make this available. . ADDED: html_text/2: handle colspan. . ENHANCED: html_text/2: better distribution of column widths. . html_text/2: skip empty cells. . ENHANCED: html_text/2: support cell alignment and horizontal rules in. . ADDED: Sandbox declarations for DCG high order predicates. . Updated http. . ADDED: foreach//2 to the high order DCG library. . Updated http. . Updated http. . Preparing version 7.7.25. . ADDED: command line option --no-threads to avoid starting threads at . . Preparing version 7.7.25.
7.7.2309 Dec 2018 16:05 minor feature: Updated chr . Updated ssl. . Updated nlp. . DOC: Replace -tty with --no-tty. Peter Ludemann. . BUILD: Build and install the manual index doc/manindex.db. . Updated pldoc. . ENHANCED: Allow compile time specification of unix shell. . BUILD: Allow qlf compiling using friend compiler. . Support preloading for compiling.qlf files. . Start preloading some libraries. . Updated http and pldoc. . DOC: improve SWIPL_NATIVE_FRIEND explanation. . : Remove hint to removed -v cli option. Falco Nogatz. . : Do not try to add.qlf files to a library index. . ADDED: ' stage_file'/2 and ' install_staged_file'/4 to stage file cre . . : Use file staging for.qlf files to avoid concurrent processes to. . CLEANUP: Use staging interface for library index files rather than a . . ADDED: meta-predicate declaration for op/3 and current_op/3. . Cleanup and extend demessages for operator handling. . Safe destruction of modules that may be the current source or typein. . MODIFIED: op/3 and current_op/3 now default to the typein module module. . DOC: Module handling for operators. . Updated clib and pengines. . Ensure doc/manindex.db is up-to-date. . PORT: support zlib that does not export internal macros. . Document add_qcompile_target() a bit more. . Updated pldoc. . Updated ssl. . : staged generation of autoload index files did not the file. . PORT: Link packages to libswipl.so and libm.so on Android. . Updated clib. . PORT: shell/2 now used execve() for b . . Updated clib. . ADDED: Prolog flag `posix_shell`. Used by shell/2 and qsave_program/2. . possible dependency. PORT: support older versions of cmake for cross-compiling to Windows. . Use termux delivered gmp. . PORT: Set proper android arch. . PORT: Link to liblog.so needed to write to android syslog equivalent. . INSTALL: Allow installing libswipl in the public library directory in . . Move all library affecting options together. . ADDED: Prolog flag `tmp_dir` reflecting the directory for temporary
7.7.2117 Nov 2018 20:05 minor feature: Updated clib . Updated cmake version details. . ENHANCED: Make dependency of library(archive) for library(prolog_pack . . DOC: a small typo. . DOC: typos in documention of round/1. . Updated packages. . Updated packages. . : Install package documentation from the binary dir. . Updated jpl. . Added Ubuntu 18.04 (cosmic). . Updated packages. . : read_term/3: subterm_positions option when reading from an atom. . Updated ssl. . Updated readline. . Updated readline. . : Create the resource file as read-only file and delete it before. . Updated readline. . Silence additional warnings for PGO optimization. . Updated bench. . scripts/pgo-compile.sh: support --off. . Updated cmake readme docs. . : git_shortlog/3: report `committer_date_unix` field as an (inte . . Updated pengines. . : Cross_referencer: consider a possible `:- encoding(Enc)` when . . : xref_public_list/3: thread-safety and cache results. . : library(prolog_colour): handle body terms of the form. . ADDED: Make help/1 output hookable. . Updated pengines. . ENHANCED: A slightly more efficient version of the select/3. Determin . . ENHANCED: apropos/1 fuzzy matching. . List other permissive components when there are no GPL/LGPL components. . Use components instead of modules for consistency in output. . CMAKE: MacOS: Setup Macports or Homebrew for dependencies. . Do not setup DEB packaging on MacOS. . Updated packages. . Updated packages. . Updated ssl. . Updated jpl. . : Lazy loading of library(archive) in library(prolog_pack). . Updated `about' message. . Indicate we are running Prolog from the build directory rather than an. . : Paths in swipl.pc (pkg-config). Carlo Chapelli. . : Emit colour call for empty export list. Required for SWISH. . Updated pengines. . DOC: Replaced Perl TeX preprocessing with a Prolog based translator. . DOC: several documenation errors detected by new TeX preprocessor. . Updated JPL. . Updated. : possible (benign) overlapping string cop
7.7.2027 Oct 2018 14:25 minor feature: Updated semweb . compiling with assert() enabled. . Updated pldoc. . Updated xpce. . Bit more sensible cmake instructions. . Updated libedit. . Updated ssl. . : explain/1: Avoid dependency on library(helpidx) that is going to. . Updated pldoc. . ENHANCED: print_message/2: ansi(Style,Format,Args) switches back to the. . preventing long options from containing underscore. . DOC: Several small. Updated ssl and ltx2htm. . Added PNG for boradcast to avoid generation. . CMAKE: Copy manual figures. . DOC: Make generating of.pdf from PostScript silent. . Updated ltx2htm. . Use clean targets for getting rid of LaTeX temp files rather than. . Updated pldoc. . Updated semweb. . Updated pldoc. . Updated pldoc. . Updated new build system. . Updated libedit. . Updated packages. . MODIFIED: replace plain text manual with HTML driven manual. . Remove MANUAL and helpidx.pl from the generate-file downloads. . Cleanup more traces of MANUAL and helpidx.pl. . Another MANUAL trace. . CMAKE: Support single threaded building. . Updated jpl and pcre. . CMAKE: Basic selection of optional components. . More configuration options. . MODIFIED: Load the system init `-F file` as first step of the initial . . ADDED: Build-tree system initialization file that allows running the . . CMAKE: Use silent installation. . CMAKE: Indirect installation of sources over our own function. . Updated packages. . Paxos package was lost while installing. . Make built version of `swipl.rc` work if there are no packages. . Updated clib. . Updated clib. . CMAKE: Run package test in build directory. . Updated packages. . CMAKE: create version file in build dir. . Updated cmake. swipl.rc file for running our local copy. . Allow -q together with -b to achieve a silent boot compilation. . Added helper to build.QLF files safely. . Split HTML and PDF documentation generation. . CMAKE: Build Prolog target files in CMAKE_BINARY_DIR, so we build the. . Updated packages. . E
7.7.1927 Aug 2018 18:25 minor feature: DOC: PL_put_term_from_chars() foreign API. . Enhanced layout of package missing dependency listing. . Updated clpqr. . DOC: Added link to stack_limit flag. . Updated clib. . Updated clib. . : select_option/4: only delete an option if found. . ADDED: Script to upload packs to github. . : Ensure declared operators are defined in the target module when. . Updated xpce. . Updated xpce. . Updated pengines. . Updated nlp. . Use NODERAWFS during wasm build. . ADDED: git_shortlog/3: option `revisions(+Revisions)` to allow genera . . Updated sgml. . DOC: Added dicts.pl to main library documentation. Peter Ludemann. . Enhanced scripts/mkchangelog: get default version from the file `VERS . . DOC: ungrammatical sentence in threads documentation. . PORT: Replace linux/unistd.h with syscall.h for MUSL compatibility. . Updated semweb. . Updated http. . Updated zlib. . Updated pldoc. . Updated ssl. . Updated xpce. . DOC: : deger overview. . Updated pengines. . Updated ssl. . Preparing version 7.7.19.
7.7.1828 Jul 2018 21:05 minor feature: Declare mode-directed tabling sandbox-safe. . : listing/0,1,2: Item#313: when reusing source variables we must be. . MODIFIED: de_message_context/1 has been replaced by the generic me . . Updated pldoc. . Updated paxos. . Updated semweb. . Updated paxos. . : Avoid crash in mode-directed tabling if a mode-directed call has. . Updated semweb. . DOC: typo. . : Meta-predicate declaration for mode-directed tabling helper re . . Updated archive. . CLEANUP: Avoid GCC compiler warning due to strict aliasing. Spotted by. . PORT: Avoid some undefined C behavior. . PORT: Avoid undefined behavior and implementation defined behavior in . . Preparing version 7.7.18.
7.7.1707 Jul 2018 08:05 minor feature: Updated jpl . Small typo. : : number//2 non-terminating when called in mode +,// and. . : Stand-alone configure called Prolog with `-dump-runtime-variab . . : Cross-referencer: avoid adding a parsed structured comment mul . . Updated pldoc. . Updated pengines. . : file handle twice. Benign. . Mount the local filesystem in WebAssembly build. . Map boot file generation paths for WebAssembly. . Skip building the library index for now for a WebAssembly build. . Switch to NO_EXIT_RUNTIME=0. . Add swipl-web.js compilation target. . Include the list of exported C functions. . Export useful functions from the WebAssembly binary. . Export ALLOC_NORMAL. . DOC: swipl.1. Paulo Moura. . ADDED: load_files/2: option `optimise`. Paulo Moura. . MODIFIED: read_term/2,3: option singletons(-Vars) to return all singl . . : Prolog flag `unknown` handling. Tomoki Aburatani. . ENHANCED: `swipl-bt` script to pass SIGUSR2 to Prolog. . TEST: Tabling: add tests that require sub components. Fabrizio Riguzzi. . Added detopic for creating and updating mode directed values. . ADDED: allow creating sub components for tabling. This is needed for. . : Mode-directed tabling. This is an elaborate rewrite of the Prolog. . Updated http. . : read_term/2,3: singletons(Vars) option did not include normal. . Updated http. . Install tabling.pl boot source. . Removed paxos.pl from library; will be re-added as package. . ADDED: Package paxos. . ADDED: paxos package to standard build. . Updated paxos. . Updated paxos. . ADDED: Allow hooks to extend the message prewith additional infor . . Updated paxos. . Updated paxos. . Updated paxos. . Updated clib. . MODIFIED: Clear error flag on streams after raising an exception due . . Manual typo. Paulo Moura. . : open/4: Leaking file handles if incorrect options cause the open. . Updated libedit. . Updated http. . : past-end-of-file detection and reporting. . : fill_buffer/1 should not retry if the buffer is at the end of th
7.7.1616 Jun 2018 23:45 minor feature: Updated pldoc . BUILD: Use host compiler for compiling defatom. . : Detection of -c -o compiler flag handling for compilers that k . . PORT: Better detection of requirements for getting tgetent(). . PORT: When `EMMAKEN_JUST_CONFIGURE` is set, configure as target `wasm . . PORT: Support a program to run the cross-compiled executable such as . . PORT: Zip based resource manager for libz 1.2.7 and OpenBSD I/O fun . . Updated pengines. . MODIFIED: Turn paxos as a mapping of arbitrary ground keys to ground . . up documentation after Key/Value version of paxos. . CLEANUP: abstract the interface to the data storage. . : If the encoding is explicitly stated we should not check for a . . ENHANCED: csv_write_file/3 and csv_write_stream/3 to run phrase per r . . : : compute result size for /2 was off by a factor 8. . . Updated http. . Updated clib. . : NLP - PCRE copy/paste error. . ENHANCED: Sandbox limitation message if safety could not be proved. . Updated semweb. . Remove tracer retry messages printed directly to the console. . last sandbox. . Updated http. . : CSV writer to write an empty row. . MODIFIED: Removed undocumented Prolog flag `thread_message_pre` an . . Updated http. . ADDED: library(paxos): broadcast hook to support persistency. . Preparing version 7.7.16. . PORT: Cross-compilation of defatom tool. . Updated clib.
7.7.1427 May 2018 03:05 minor feature: DISTRO: Drop Ubuntu zesty and add bionic. . : loading qlf files does not decrement the reference count of atoms. . MODIFIED: More consistent commandline argument processing. In particu . . MODIFIED: current_prolog_flag(argv, Argv) now includes options (-*) that. . ENHANCED: Output arguments in mode-directed tabled predicates must be. . Moved tabling.pl from library to core. . MODIFIED: Moved library(tabling) to the preloaded core so we do no lo . . DOC: Move tabling documentation to core. . Updated xpce. . Removed old TODO file. . Removed loading library(tabling) from test file. . MODIFIED: QLF file integer encoding to be both more space and time. . ENHANCED: Store opcodes as unsigned integers. Makes states more compact. . ENHANCED: Use unsigned integers for XR references in QLF files. . Speedup for small integers. . Use non-position aware reading for better performance. . ENHANCED: Save/load unsigned integers for various properties. . DE: uninstantiated var. . ENHANCED: Reduce memory usage and remove 96M constant limit from save . . Removed more library(tabling) from test files. . ENHANCED: Avoid unrecoverable error if we find an illegal string on a . . MODIFIED: ' qlf_info'/7 moved from 5 to 7 arguments. New version is. . ENHANCED: QLF error handling. . CLEANUP: QLF error handling, recover from QLF errors. . ENHANCED: Automatically recompile.QLF files when they are incompatible. . Compile with -DO_DE. Improve error messages finding the resource DB. . Proper error messages for saved states. . Re-added option -tty as deprecated option. . ENHANCED: Handle broken QLF files that are write protected. . : Avoid trying URIs as file names. . : tabling: collision of variant term between predicates with the. . : Pass through the stack that cannot be grown to avoid messages. . : On resource errors we need to enable the spare room of all. . MODIFIED: Enforce trail limit to be 1/6h of the global limit. About to. . MODIFIED: Replaced separate l
7.7.1306 May 2018 03:05 minor feature: Added minizip project . CLEANUP: Misleading indentation. . Tmp hack to link to libz. . Started zip binding. . Include zip binding in main source. . Create a zip file. . Added write access for entries. . Working write access. . Working reader. . Provide additional info on zip entries. . Settle OPT_STRING. . Allow specifying comment and extra when creating a zip. . Start emulating old resource db. . Added opening entries in zip files from C. . Replace old archive lib (compiles, does not run). . Creating a saved state. . TMPO: Avoid exytra field. . Boot works again. . Start work on saved states. . Provide access to global zip archive. . WIP removing classes from resources. . Ongoing rationlization. . Basic saved state working. . Move zip predicates to a new library. . Move the core API to use streams. . Restore adding the saved state header. . Start work on locking. . Added options to zip_open_current/3. . Updated resource primitives. . Get open options to work with opening a zip entry. . Replacing src/rc with src/minizip. . Remove more swipl-rc traces. . More installation cleanup. . Do not create minizip Makefile. . Create minizip output dir. . Working build. . Handle PL_open_resource(). . Work making zip access thread-safe. . Guarantee ownership. . Protect against invalid sequences. . Better default behaviour. . Consistent naming. . including foreign state. . Also force proper sequence for writing. . non-determinism. . Added zip_/1. . : ' size_stream'/2: raise exception if this value is not known. . Make Ssize() work on zip input streams. . Add interface to set time in created zip archives. . Support time while extracting. . Cleanup and preserve times. . Remove traces for swipl-rc .exe . . Wip documentation. . Updating the manual. . Remove aliases and macros to old archive system. . Typo. . Provide zip_open_archive_mem() to start from a string. . Avoid system resource DB to be destroyed in atomGC. . Update doc
7.7.1215 Apr 2018 02:25 minor feature: Updated yaml . Updated yaml. . Updated yaml. . Updated http. . DOC: several typo's. . Updated xpce. . Updated pengines. . DOC: Typos. . TEST: Make static code protection tests conditional so we can run code. . Updated http and plunit. . DOC: Updated "Is SWPL right for me?". . Updated http. . Updated http. . ADDED: get_prolog_backtrace/3: option guard(+Guard) to stop showing. . Updated jpl. . ADDED: tmp_file_stream/3 has a new mode -File,-Stream,+Options and takes. . Updated http and pengines. . Updated pengines. . Updated http. . Updated http. . : Possible crash of markPredicatesInEnvironments() locking. . DE: Lock predicate while running checkDefinition(). . : get_single_char/1 to clear timeout error from stream after it is. . Preparing version 7.7.12. . BUILD: Restore old --server= behavior to only specify the host.
7.7.1124 Mar 2018 07:25 minor feature: failure to clear LD- outofstack if unify_finished() raises a. . Updated semweb. . Updated pengines. . Updated pengines. . Update semweb. . Updated packages for HTML installation location. . Updated debian. . : concurrent/2 and concurrent_maplist/2-4: if no threads are used. . ENHANCED: Do cheap tests in growStacks before doing anything. . CLEANUP: Consistently use iarg_t for indexed argument positions. . ENHANCED: Wait for indexes to complete rather than creating them oppo . . Updated pengines. . Updated sgml. . Updated sgml. . Updated pengines. . Updated sgml. . Updated xpce. . Updated http. . Updated http. . : wait for incomplete indexes to complete before retracting clauses. . TEST:L Modify test_shared_dynamic testcase to support multiple. . TEST: shared dynamic predicate test. . Updated http. . Updated clib. . Updated http. . : liubrary(prolog_colour): avoid exception if module. . Updated xpce. . Updated clib. . Updated http. . Added yaml package as submodule. . Add YAML package to core system. . Updated debian. . Add YAML to check installation. . Added yaml to Windows build. . Updated yaml. . BUILD: "prepare" script rewritten. . Make prepare less verbose. . CLEANUP: Remove conditional autoconf stuff and other MSVC targeted. . Updated xpce. . Prepare should check the status of all checked out submodules, not ju . . Avoid newline in confirm. . Preparing version 7.7.11. . Include YAML in source tarball. . Avoid non-portable upcase in prepare.
7.7.1023 Feb 2018 00:25 minor feature: DOC: CLP(B): Shorten pigeons example. . indicate existence of further solutions. . : PL_get_nchars() to raise an error of CVT_EXCEPTION and REP_ISO . . SECURITY: allow reduced timer resolution to mitigate Spectre, notably in. . Updated pengines. . DOC: Improve description of the new mitigate_spectre flag. . DOC: DCG basics processes upper- and lowercase hexadecimal digits. . position of ctime_r replacement. . Updated pengines. . : predicate_property/2: last_modified_generation property for th . . : indexing of dynamic predicates used during compilation. . : Lazy restart of "gc" thread. This notably causes the. . Skip singleton tests of memfile is not provided. . Updated pengines. . DOC: CLP(B): Add usage example for cardinality constraint. . include short explanation in table. . PORT: Added libffi to the MinGW prerequisites, preparing future Windows. . PORT: Make our portability layer for accessing shared objects available. . Preparing version 7.7.10.
7.7.801 Feb 2018 19:05 minor feature: Updated xpce . Updated semweb. . ENHANCED: sigCrashHandler() to self-kill the specific thread. . Updated http. . : Resolve a race condition if two threads join the same thread. . . : Small enhancement to thread_join/2 race avoidance. . Updated semweb. . ADDED: existence_error/3 to indicate an object does not exist in a. . correct redirection of Unix-users. . Updated archive. . ADDED: set_prolog_stack/2 and prolog_stack_property/2: make the `low`. . : demessage on signal processing. . : Compilation error for single-threaded version. Roberto Bagnara. . Updated pengines. . ENHANCED: Avoid using signals to talk to the `gc` thread. This reduces. . ADDED: prolog_alert_signal/2 to query/set the signal used for alerts. . ADDED: set_prolog_gc_thread/1 to control the `gc` flag using a supported. . Updated clib and semweb. . Updated http. . ENHANCED: self-kill after receiving a fatal signal. . Updated cpp. . PORT: do not bump predicate generations twice on 32 bit Windows when . . : Avoid message that threads did not terminate. This MODIFIES. . Updated semweb. . : Possibility of GC thread missing signals, notably to abort when. . Preparing version 7.7.8. . : Port to 32-bit platforms. e5eb4. . CLEANUP: Avoid strict-aliasing in some of the Windows code. . Updated cpp.
7.7.711 Jan 2018 06:05 minor feature: Updated debian . : format/3: Slock()/Sunlock() balancing. . TEST: Relax `agc-2` test as it may legally fail on heavily loaded and/or. . Preparing version 7.7.7. . Updated ssl. . Updated http and pengines. . Updated semweb.
7.7.521 Dec 2017 00:25 minor feature: ADDED: PL_cvt_i_char(), PL_cvt_i_short() and PL_cvt_i_int64(), . Improved destatements. . : Find clauses if depth limit for deep indexing is exceeded. . : perform DCG and goal expansion if the result of term-expansion. . Updated http. . link to section "Core relations and search". . improve explanation. . : de/1, node/1: possible duplication of clauses when called. . : open_string/2: double free if stream argument is instantiated. . ADDED: PL_cvt_i_char() to accept one-character atoms, strings and lists. . Updated semweb. . Updated pengines. . Updated semweb. . ADDED: PL_cvt_i_uchar() and PL_cvt_i_ushort(). . ENHANCED: On 64 bit machines we do not have to check bignums as these. . MODIFIED: PL_get_integer() no longer silently converts a float that h . . ADDED: PL_cvt_i_uint(), PL_cvt_i_ulong(), PL_cvt_i_uint64(). . : Could not build due to syntax error. Wouter Beek. . Small to docs. . : Test for kill(), such that core dumps work after fatal signals . . : Possible race extending referenced predicate dynamic array. . : acquire_def() cannot be used recursively. Doing so in. . DE: Protect against recursive use of acquire_def(). . : If we push an accessible predicate while clause GC is active, we. . : race condition for cleaning lingering data on predicates. . : Dirty predicates activated while CGC is running must have their. . : Lowering the oldest_generation must be thread-safe. Spotted by. . Clarified comments. . TEST: Avoid hard-coded file names such that we can run the test from the. . TEST: Remove more concrete file names to allow tests to run concurren . . Updated plunit. . CLEANUP: Move global_generation() to pl-inline.h for all platforms for. . Make sure setGenerationFrame() is always called after the frame's. . : Race condition updating the frame generation and the notion of . . : retract/1: terminate with error if decompilation raises an. . Preparing version 7.7.5.
7.7.330 Nov 2017 01:25 minor feature: DOC: asserta/1,2, assertz/1,2, assert/1,2: join, add example. . : veto atom-destruction in the type- release and GD- atoms.gc_hook. . CLEANUP: PL_unregister_atom(): style and properly check for references. . CLEANUP: Duplicate test in atom-completion. . Actually make atom-completion abort on C. . Added artful distro. . Updated debian. . Sdprintf() to support Ls for latin strings. . DE: printing -1 reference. : Engine symbol's are not referenced to allow reclaiming engines. . Updated semweb. . : maplist/N expansion for qualified goals. Samer Abdallah. . Updated semweb. . Updated semweb. . Updated semweb. . DOC: Document engine_destroy/1. . : atom-garbage collection when compiled for single threading. . : _ is not subject to multiton check. . : atom_is_named_var(): incorrect classification of wide-character. . ADDED: Multiline CSV rows where newlines are embedded in quoted fields. . Handling of empty lines within quoted fields. . Check ignore_quotes in multiline quoted fields, some CSV tests. . Layout. . Updated pldoc. . better line breaks and references. . Updated ssl. . Updated jpl. . Updated jpl. . PORT: Global generation handling on machines without atomic 64-bit. . : predicate_property(m:P, autoload(File)) raised an instantiation. . ENHANCED: Colour library: classify m:Var and m:noncallable as errors. . : Avoid instantiation errors when colouring insufficiently. . ENHANCED: library(prolog_colour): handling of cross-module calls. . Updated xpce. . : Possibly crash in AGC when another thread is doing findall. Keri. . Updated plunit. . Updated semweb. . Preparing version 7.7.3. . LaTeX error.
7.7.208 Nov 2017 21:05 minor feature: Updated ssl. . PORT: Updated SSL DLL files in Windows distribution to 1.1. . : deal with parentheses_term_position/3 term when adding meta-ar?. . PORT: Deal with OpenSSL 1.1 DLL names for Win32. . ENHANCED: library(prolog_code_walk): avoid implicit dependency on gtr?. . PORT: More Windows SSL library name. . : atom reference count handling for both keys and values. Only. . ADDED: Support colouring of _ if it is a goal. . Updated clpqr. . Updated odbc. . ENHANCED: : library(prolog_xref): avoid exponential explosion?. . ENHANCED: Further optimization of partial evaluation inside disjuncti?. . ENHANCED: More efficient handling of ord_intersection(S1, S2, ). . ADDED: prolog_colour:goal_colours/3 hook to allow for context awareness. . Added constraint(Type) style. . Updated clpqr. . DOC: CLP(B): Link to benchmarks at https://www.metalevel.at/clpb/. . ADDED: attach_console/1 accepts an arbitrary window title. . ADDED: interactor(?Title), complementing attach_console(?Title). . Updated semweb. . use __ for bold, which works for https://www.matelevel.at/clpb/. . Updated ssl and clpqr. . Updated ssl. . Updated ssl. . Updated ssl. . Preparing version 7.7.0. . Updated semweb. . Added MSG_BACKTRACK detopic. . : printing pointers in checkData() (internal consistency checking). . : prolog_frame_attribute/3: properly trail goal arguments. Shoul?. . : Missed trailing when qualifying a meta-argument that is passed a. . Updated JPL. . Updated JPL. . : consider leap seconds when performing date time calculations u?. . Add timestamp roundtrip unit tests. . Included 2015 and 2016-12-31 leap seconds. . INSTALL: db package was renamed (long ago) to bdb. . Updated ssl. . Updated clpqr. . Updated http. . : In mode-directed tabling, an answer should be added to the wor?. . : External record handling crash instead of raising a permission?. . TEST: error handling in fast_write/2. . : fast_term_serialized/2: possible crash in mode (-,+) due to. . :
7.7.118 Oct 2017 12:45 minor feature: Updated semweb. Added MSG_BACKTRACK detopic. printing pointers in checkData() (internal consistency checking). prolog_frame_attribute/3: properly trail goal arguments. Shoul?. Missed trailing when qualifying a meta-argument that is passed a. Updated JPL. Updated JPL. consider leap seconds when performing date time calculations u?. Add timestamp roundtrip unit tests. Included 2015 and 2016-12-31 leap seconds. INSTALL: db package was renamed (long ago) to bdb. Updated ssl. Updated clpqr. Updated http. In mode-directed tabling, an answer should be added to the wor?. External record handling crash instead of raising a permission?. TEST: error handling in fast_write/2. fast_term_serialized/2: possible crash in mode (-,+) due to. PceEmacs colour support on the system modules. Requires. Updated pldoc. DOC: Removed outdated argv handling example. DOC: link to clib package. ADDED: csv//2: allow for r separated records. thread_get_message/3 with a deadline blocks for an excessive a?. Preparing version 7.7.1. Removed obsolete "Last update" line.
7.5.1527 Sep 2017 00:45 minor feature: ADDED: sandbox:safe_meta/3 hook to deal with meta-predicates that nee?. Atomic maintainance of clauses and VM codes avoids incorrect v?. Updated ssl. Updated ssl. Updated libedit. Updated jpl. Updated semweb. read_clause/1,2: reset LD- exception.processing when using DEC10. MODIFIED: Do not call exception rewriting hook on resource errors. This. BUILD: profiled build. GCC profiled enable build only works if the. Updated jpl. Index condition on uninitialised hints- is_list. ADDED: Pack meta data to allow for version requirement and add the. ADDED: pack_info/1 now lists the libraries that are provided by a pack. do not used incomplete indexes during a reconsult; do not reha?. Updated http. Updated http. Updated debian. Export CROSCOMPILING from Windows build script. Updated http. Updated http. Added check_installation/0 test for jquery handling. ADDED: Give OS thread the name of the thread alias if the OS supports?. PORT: Avoid setting thread name on MacOS and iOS. Needs reorganizing. Possible uninitialised variable in signal preparation. Mostly. PORT: Make setting the OS thread name also work on MacOS. Updated debian. Updated plunit. Updated plunit. DOC: replaced url by href. Updated packages for url - href change. Updated http. Allow overruling --stand_alone=true. Updated pldoc and pengines. Updated pengines. Updated ssl. Updated pldoc. Updated ssl. ENHANCED: new clauses from a reconsult can be inserted into existing ?. CLEANUP: Remove unused clause_index.incomplete. Preparing version 7.5.15.
7.5.1405 Sep 2017 13:45 minor feature: filled_array/4: raise stack overflow rather than crashing if. Do not consider ' reset'/0, ' call_continuation'/1 and ' shift'/1. Layout. LD- gen_reload must be of type gen_t. hasClausesDefenition(): avoid relying on LD- gen_reload and si?. Updated pldoc. Updated xpce. ENHANCED: concurrent/2, concurrent_maplist/2-4: catch signals while the. ADDED: trie_delete/3 to remove keys from a trie. ADDED: is_trie/1. This patch also ensures that current_trie/1 and. Updated ssl. Renamed configure.in to configure.ac. Lev Lamberov. Updated submodules. Renamed configure.in to configure.ac. Lev Lamberov. --nosignals also inhibits the use of a separate GC thread. LICENSE: man/plindex.pl. Missed during license transition. Updated submodules for license. Re-added packages/configure.in. Re-enable a GC thread by default. Was lost on 4874035. ENHANCED: make thread_join/2 and mutex_lock/1 interruptible if timed. MODIFIED: prolog_walk_code/2: do not walk multifile and initialization. MODIFIED: prolog_walk_code/2: handle - , *- and + as control struct?. ADDED: predicate_property/2: last_modified_generation(-Gen) to support. ADDED: module_property/2: last_modified_generation(-Gen) property. Updated http. : goals in directives are handed twice to expand_goal/2. call endReconsult() when loading QLF files so that consulted c?. predicate/module generation property: update on file reload. Possible crash when reloading a file holding foreign predicates. Updated http. Updated pldoc and http. Added MSG_INITIALISE detopic. Updated JPL. retain exported attribute for predicates loaded from QLF files. : get_single_char/1 incorrectly returns -1 (EOF) on. PL_thread_attach_engine() with `attr = NULL`. Updated JPL. Updated jpl. Atomic handling of flags on structures. Paulo Moura. Possible crash enumerating threads (atom and clause gc) while the. Preparing version 7.5.14.
7.5.1214 Aug 2017 16:25 minor feature: possible crash when handling a signal while calling an unresolved. Updated pldoc. Updated archive. Updated pldoc. sandbox handling of @/2. Vladislav Zorov and. Updated clib. Updated semweb. ADDED: base64_encoded/3 and base64_encoded//2, providing options. : peek_string/3 could fail to terminate. Wouter Beek. Updated ssl. pack_install/1: avoid "ERROR:.: A package archive must be n?. shift/1 could create an illegal term, possibly crashing the sy?. ADDED: reset/3: restore reset/3 and catch/3 environments. DOC: small typo. Avoid deadlock involving 3 threads: one sending a message. Added test for deadlock scenario. ADDED: thread_create/2 and thread_join/1 as shorthands to simplify th?. Updated ssl. Updated clib. Layout and style. Apply a6abba9 (atom table) patch. Updated jpl. PORT: Set AUTOCONF_VERSION as required by OpenBSD. avoid AGC on finished threads. PORT: Generate shared object on OpenBSD. PORT: compensate for sed that does not support. PORT: build .templ for gmake and bash in PATH but not in /bin/bash. PORT: Test whether backtrace() actually works. Not (always) the case on. Updated table. Updated readline and editline. Compensate for different NaN representations. Avoid complicated float comparision if we are only interested in equa?. trie_lookup/3 if the associated value is not atomic. Samer Abd?. Updated clib. Updated bdb. ADDED: Also allow for e.g. -1.5NaN (negative float), compatible with. Include NaN in the standard order of terms after discussion with. Updated ssl. PORT: Document OpenBSD requirements in build.templ. PORT: Indicate how to use clang (cc) on OpenBSD. DOC: Arity of trie_insert/3,4. Updated ssl. Backtracking on lazy input lists in demode. Douglas Miles. Removed trie indirect data test predicates. Updated semweb. trie handling of indirect data (float, string) could lead to. Preparing version 7.5.12. BUILD: Added MacOS distribution build script.
7.5.1124 Jul 2017 06:45 minor feature: Updated space. Updated pldoc and ssl. Updated jpl. Updated http. dict_pairs/3: correct exception if a key is invalid. Jacco van. ENHANCED: CLP(FD): Stronger exponentiation, using logarithm. Updated ssl and http. Updated semweb. : char_type/2 in mode (-,+) only generates ISO latin 1. Updated ssl. Updated ssl. Updated ssl. CLEANUP: timezone initialization. Also more robust if not properly. domain generation for unicode characters and test suite. qsave_program/2 using the option foreign(save) if there are mu?. Possible deadlock if a thread is signalled by thread_signal/2 or. Updated ssl. DOC: typo in documentation of random/3. Updated clib pldoc. Updated ssl. Added missing LD. MODIFIED: : /2 and /2: return rational on rat non-neg-int?. Some cleanup. : call clearThreadTablingData() before cleanupAtoms(). MODIFIED: PL_cleanup(): only try to reclaim memory if the exit status is. Possible crash during shutdown when reclaiming all memory. Cleanup. ADDED: support Rational NegInteger. Possible segv in PL_thread_raise(). file_name_extension(+Base, '', -Full) should _not_ add a "." to. Handle github release files that have no extensions. Safer PL_thread_raise()? Should not be needed. Sync update of thread_highest_id. DE: Also print crash stacks for threads not related to Prolog. HACK: Avoid immediate crash in time limit enforcement. The current. Updated clib. /2 and /2 (pow) function for 32-bit. Jos de Roo. Updated pengines. : compile without gmp. Updated pldoc. PORT: Generate either C or JavaScript code from our Unicode maps to s?. Document usage of prolog_syntax_map.pl. MODIFIED: Updated Unicode classification from Unicode 6.0.0 to 6.3.0. last details for generating the JavaScript character classifier. Use predefined code page 0 for unicode map. Doesn't affect Prolog as ?. make compile with --disable-gmp. DOC: char_type/2: typo. Preparing version 7.5.11. PORT: fallback code if C backtraces are not supported.
7.5.1002 Jul 2017 20:05 minor feature: Updated semweb. Updated semweb. Updated http. Upgrade packs that are installed from github archive files. Updated archive. Updated pldoc. DOC: : format_time/3 p may yield `am`/`pm` in some locales. DOC: : surprises caused by variable ordering. Updated ssl. DOC: Mention crypto_n_random_bytes/2 in the documentation of random/1. ENHANCED: Speedup finding the deframe for a redo. Eyal Drechter. thread_get_message/3 (Windows only) using a deadline if the. Updated pengines. ENHANCED: Only print the thread id when printing the thread context in. Updated ssl. cleanClauseIndexes() should be locked with addClauseToIndexes(). Updated ssl. Updated semweb. Updated pldoc. Updated clib. ENHANCED: Faster zcompare/3 when used instead of compare/3. Jan Wiele?. Updated ssl. ADDED: I_INTEGER instruction to speedup integer/1. CLEANUP: Generalise compiler warnings for tests that always yield. HACK: if a first-var integer/1 tests is always false, emit a C_VAR. ADDED: library(prolog_xref): handle :- import(:PI). ADDED: term_singletons/2: find term singleton variables inside a term. Added internal singleton(true) variable property. Removed incorrect ISO claim. Jan Burse. Updated ssl. Updated semweb. ENHANCED: Reduce thread-local-data access. Updated semweb. ENHANCED: Reduce thread-local-data access. Safe must_be/2. Jacco van Ossenbruggen. Updated ssl. Ensure TTY state buffers are fully initialised. Updated ssl. ENHANCED: Avoid creating a choice point for simple conditions in. Updated pldoc. stackshifter to shift the pointer for fast conditions inside. Updated ssl. Updated bench. ENHANCED: Inline arithmetic stack operations. Updated ssl. Small optimization for unifying small integers. Generalise type-test code generation. Generalise type test instructions in VM. ENHANCED: Add common type tests to VM (number, float, atom, atomic,st?. ENHANCED: Reduce thread local data access. PL_get_size_ex(): quick test for tagged integer. ENHANCED: reduce thread local data access. CLEANUP: simplify loc
7.5.810 Jun 2017 11:25 minor feature: Better documentation of zcompare/3, after comments from Carlo Capelli. INSTALL: Avoid loading /.swiplrc during built (done by check-install?. Variables or meta-predicates not marked as non fresh, related to. Updated odbc. Updated http. Introduce up to three indexable arguments. Compute multi-argument hashes. ENHANCED: Pass LD to bestHash(). CLEANUP: make bestHash() return 1-based arguments for consistency. Prepare hash assessment type for multiple arguments. argument skip. CLEANUP: Split accessing clauses to a new function. Compute assessments for multi-argument indexes. 0-based offset. Small cleanup. Print statements. Working again. Use alloca() for the bitvector. Document assess_scan_clauses(). Prepare interface for bestHash() to return multi-argument indexes. Deprint for multi-argument indexes. Sorting poor indexes. Lift management of hash assessments to a new type and functions. First attempt to find 2-argument index. computation of stdev of same-argument buckets. Divide stdev by mean for punishing bad distributions. Cleaner type choice. Actually creating two-argument index. Wrong ordering. Now working. MODIFIED: predicate_property(Head, indexed(Indexes)) now uses a list. Dename of indexes. TEST: Adjusted test cases for modified predicate_property/2. Make demessages conditional. Comment, layout. Updated copyright. Speedup single-argument key computation. Added general infrastructure to deal with lingering objects around. Use generic lingering infrastructure to get rid of old clause indexes. ENHANCED: actually reclaim discarded supervisor code. This was not a. Select proper arguments for multi-argument indexes. Make sure arguments are properly ordered. Typo, deleted unused type. Use array to represent clause indexes so we can sort them. ENHANCED: Keep indexes sorted by quality. allocation. Compile in all modes. sorting and allocation. ADDED: arg_info structure do deal with JITI and meta arguments. Use lg2(buckets) in hints to sync with arg_info. Trying to bas
7.5.619 May 2017 13:25 minor feature: Updated HTTP. MODIFIED: Operations on stream pairs (see stream_pair/3) that are. Avoid stream-pair ambiguity for wait_for_input/3 and. Updated clib, http, semweb and sgml. Update pcre. Update pcre. in_temporary_module/3: handling of possible collisions. Updated pengines. Memory leak for localised predicates that have no clauses as the. Avoid crash when trying to clean all Prolog memory (-DO_DEmode) and. Faster all_distinct/1 with unbounded domains. Julien Cumin. use portray_clause/1. MODIFIED: transpose/2 now fails for ragged matrices. Julien Cumin. git_process_output/3 (and derived predicates): properly read all. : crash when combining tabling and constraints. PORT: : More robust redefinition of __assert_fail(). PORT: Make sure we actually define __assert_fail(). Need to define the __assert_fail() prototype. Updated xpce. Possible crash in considerClauseGC() while clause GC is running. Variables or meta-predicates where not geing marked as non fre?. In predicate prolog_clause:ubody/5, added clause to process. Working __assert_fail() override. PORT: Added qsort_r/qsort_s to configure tests to improve portability. PORT: pl-dict.c: fully portable version of dict sorting using qsort_r. Updated sgml. Updated sgml. Updated pengines. Updated clib. Preparing version 7.5.6. Updated pengines. INSTALL: library(pengines_sandbox) for Windows.
7.5.428 Apr 2017 04:25 minor feature: Updated semweb. Updated odbc. Updated xpce. Updated xpce. Updated http. Updated http. ADDED: stream property write_errors(+How), which can be used to ask. Updated http. MODIFIED: set_stream(S, record_position(true)) now resets the position. prolog_load_context(stream, S) and :- encoding(Enc) when compi?. Updated pengines. Updated http. restarting a continuation should copy flags from the parent. ENHANCED: Raise a `representation_error(continuation)` error if we ca?. MODIFIED: (undocumented) PL_get_term_value() to return new types PL_NIL. Updated xpce. Correct error in partition/5. Steadfastness of partition/5. Updated http. Doc typo. Anton Danilov via annotation. ADDED: reduced/1,3, complementing distinct/1,2. After discussion with. Removed writeln/1 from reduced/ 1,3 . Updated http. format/3: handle error status from low level write operations and. Updated http. ADDED: PL_put_string_nmbchars(). memory in new PL_put_string_nmbchars(). MODIFIED: Replaced PL_put_string_nmbchars() with more consistent and. Possible memory leak creating an atom from a wide character po?. ADDED: PL_new_atom_mbchars(). ADDED: PL_put_term_from_chars(), adding support for different multibyte. ADDED: package pcre. ADDED: pcre submodule. DOC: LaTeX syntax error. Included pcre into check_installation/0. Updated debian. Preparing version 7.5.4. PORT: Add download and install for libpcre to README.mingw. PORT: Install pcre components for Windows. Updated pcre. DOC: absolute_file_name/2: small correction. Added Zesty Zapus (zesty) as ppa target. Updated pcre.
7.5.306 Apr 2017 12:45 minor feature: Updated xpce. Codewalk library: do not propagate bindings between the branches. atom_string/2: generate proper type errors. Updated http. Updated http. Updated xpce. Updated http. Added human message for duplicate_key(+Key) dict error term. ENHANCED: Allow reproducible builds by using the SOURCE_DATE_EPOCH va?. Updated table and xpce. Updated pengines. reverted old long - intptr_t replacement in message. Updated http. CLEANUP: library(csv): make read_row/3 reusable. ADDED: API to read CSV files row-by-row in forwards mode. Allows crea?. Updated http. Updated pengines. Updated pengines. ADDED: Support case conversion while importing CSV files. Updated pengines. Possible too low number of reserved variables for getting. Possible under-allocation of global stack when generating. DOC: wrong link. Updated semweb. Updated semweb. Avoid rewriting of ' aborted' exceptions and thus prevent an. Signal handling while shutdown is in progress. Updated semweb. Spelling. Updated semweb. library(record): module qualification of inlined type checks. Updated pengines. Updated pengines. Updated semweb. Preparing version 7.5.3.
7.5.217 Mar 2017 02:45 minor feature: format_time/3: handling of f. Included file registration if there are multiple levels of. Updated libedit. ADDED: convlist/3, compatible with YAP and SICStus. Spelling in `varpre` documentation, http://www.swi-prolog.org/pldo?. Updated semweb. ADDED: current_type/3 to get a supported interface for querying the. dynamic/1: raise a permission_error on an attempt to change. library(record) if protect_static_code is enabled. Raised by. Updatd http. Avoid warning compiling set_breakpoint/5 in optimized mode. ADDED: attach_packs/2 to add packs at runtime. DOC: attack_packs/0,1,2. TEST: setting protect_static_code during the test suite makes many tests. CLEANUP: db_attach/2: update sync if an existing mapping is re-attached. ADDED: db_attached/1 to query attached state of persistency. Updated libedit. Possibility of dereferencing a NULL pointer. DOC: is_set/1 is semidet. DOC: wait_for_input/3 is det. ADDED: PL_release_stream_noeror(), needed to ws_property/2 in the. Updated http. Avoid deadlock when terminating Prolog if there are streams. Possible double cleanup of a detached thread through. Updated ssl. Handle thread-creation exceptions. pack_search/1: provide message if search gives no result. : additional ; after if () (mostly harmless). : _xos_fopen(): wrong overflow check (cannot harm Prolog. Updated http. Updated http. typo in warning message. Layout and comment. silently skip already installed dependencies. This patch also. Goal feedback after DWIM correcting a goal holding Var refere?. Updated pldoc. Preparing version 7.5.2.
7.5.123 Feb 2017 17:25 minor feature: Updated clib. Removed dropped maildrop generated files. Updated ignore files. Extend Emacs behaviour for Emacs-25+. Updated semweb. Added test files to git. Updated ssl. Updated semweb. Updated semweb. Updated semweb. Updated debian. Preparing version 7.5.0. meta-calling call/N. Samer Abdallah. Updated debian. BUILD: windows clean version check. DOC: LaTeX formatting. PPA: Avoid duplicating version tag. DOC: non-terminated ifnum. DOC: two BibTeX errors. DOC: License text. Updated archive. Updated semweb. Updated ssl and http. Updated clib. Updated xpce. : format_time/3 handling of f. Eyal Drechter. Do not overwrite stream error if a user handler already set it. Updated zlib. : too long options in a saved state were ignored. PORT: Avoid trying to compile dlopen or emulations thereof if. Updated semweb. DOC: powm/3: Instead of ()/2, use ( )/2 for integer exponentiation. Revert "DOC: powm/3: Instead of ()/2, use ( )/2 for integer exponen?. ENHANCED: (#=)/2 now automatically uses powm/3 in many relevant cases. Updated semweb. Make ' find_predicate'/2 fail if the unknown flag is warning. pi_to_head/2: protect against an infinite loop. Updated pengines. PORT: MinGW wrt. ETIMEDOUT. Matthias Gondan. INSTALL: Avoid failing if the documentation is missing. MODIFIED: removed rb_lookupall/3 and rb_in/3. ADDED: rb_fold/4. MODIFIED: library(rbtrees): deleted rb_visit/3, rb_keys/3 and rb_clon?. MODIFIED: Support multiple occurrences of `-g goal` command line options. TEST: Remove test for deleted rb_clone/4. ENHANCED: Do not setup command line editing of the environment variable. PORT: Support compilation without gmp. Matthias Gondan. Avoid crash in findall/3 if we perform a shift/reset (e.g.. Updated semweb. Updated semweb and zlib. Updated xpce. clause_info/4: if decompilation qualifies the head. library(prolog_xref): properly handle op/3 terms in the export. Preparing version 7.5.1.
7.5.002 Feb 2017 08:05 minor feature: Removed obsolete wily from Ubuntu ppa. Enabling of !-based history. Boris Vassilev. Updated http. Updated xpce and jpl. ENHANCED: library(prolog_stack): combine stacks. ADDED:clang-format and scripts/indent.sh, providing SWI-Prolog style. Updated ssl. Updated http. Updated sgml. arity of win_shell in documents. Updated libedit. Updated jpl. Updated libedit. Updated jpl. Updated jpl. ADDED: PL_current_query() to get the id of the currently open query. Updated jpl. Updated jpl. Updated jpl. Updated ssl. DOC: improve description of some Prolog flags. VERSION: Introduce a version tag. Propagate VERSION to relevant files. ADDED: Support tagged versions (e.g. 7.4.0-rc1). VERSION: deal with version tags for Windows installer. No not complain if there is no history to write. RELEASE: Updated MacOS readme files. Updated jpl. Comply with NSIS product version requirement. Include version tag in window title. Force purely numeric version for MacOS. ADDED: Support version tag in `swipl --version` and through. Updated swipl-win. Updated jpl. Make persistent history work if `:- prolog_history(enable).` is. Extended history interface. Updated libedit. Updated clib. REMOVED: library(mime) from Windows installer. Removed library(mime) from check_installation/0. Updated ssl and http. BUILD: Reorganise C and LD flags a little. CLEANUP: allow gcc to prove variables are bound at -O3. Updated clib. Removed dropped maildrop generated files. Updated ignore files. Extend Emacs behaviour for Emacs-25+. Updated semweb. Added test files to git. Updated ssl. Updated semweb. Updated semweb. Updated semweb. Updated debian. Preparing version 7.5.0.
7.3.3511 Jan 2017 07:45 minor feature: Updated libedit. Updated ssl. Updated clib. Updated clib. DOC: Remove traces of readline from core documentation. Updated ssl. Renamed COPYING - LICENSE. COPYING is a GPL convention. Updated ssl. Updated swipl-win. Updated sgml. Updated ssl. Updated libedit. detecting of reference underflow and illegal atoms in PL_unreg?. Updated libedit. License text and installation. Preparing version 7.3.35.
7.3.3321 Dec 2016 22:45 minor feature: possible crash during GC when marking stacks. Updated ssl. possible crash when failing to print an error message via prin?. Ensure foreign frame is always cleaned up in vwarning(). The recorded database (also findall) restores really large GMP. ADDED: Allow the value of a setting to be unbound. Wouter Beek. Updated ssl. compilers may optimize away code that relies on signed integer?. Updated ssl. DOC: Editor Prolog flag documentation pointed to the wrong section in?. DOC: Typo in manual `IF/Proloog'. DOC: Added paragraph on best practice for modules. DOC: Clarified some of the repercusions of using --traditional. Updated ssl. ENHANCED: : try another directory if the first fails. LICENSE: Re-licensed the C core of the system and most of the test suite. LICENSE: Re-licensed most of the Prolog boot files. LICENSE: Move part of the library to BSD-2. Re-licensed other clearly non-disputed parts of the library. Re-licensed last boot file. Small cleanup. ENHANCED: Move must_be(chars codes, Term) to use C based backup. Speeds. Re-licensed library(error) after replacing the non-trivial parts by. Updated ssl. DOC: Ungrammatical sentence "Default can refer to...". ADDED: ' term_size'/3 declared safe, so it can be used in SWISH. Updated ssl. Added PL_license() call for libgmp. Cleanup: unused LD when not compiled with GMP. CONFIG: added --without-gpl and --without-lgpl. MODIFIED: must_be/2 raises different errors on some cases in the new. License changes. TEST: Make all tests pass when libgmp is disabled. Work on better license info and banner. Change general COPYING file. Updated clpqr. ADDED: known_licenses/0. MODIFIED: pack_install/1: now needs a file:// url to denote the direc?. Updated pengines. Added missing comments(-Comments) option declaration. DOC: subterm_positions description of dict layout. MODIFIED: read_term/2 using subterm_positions(-Pos) option now wraps. UPDATED: accommodate new parentheses_term_position/3 term. Updated xpce. Colour location of full sto
7.3.3101 Dec 2016 01:25 minor feature: Updated PPA versions. Updated xpce. Updated ssl. Updated ssl. Added missing #include. MODIFIED: Respect qcompile(When) option of load_files/2 also for. Updated xpce. Updated http. DOC: current_prolog_flag/2: links to set_prolog_flag/2 and. typos. Corrent license title. Updated xpce. Updated ssl and http. Updated ssl. put an attributed variable as a dict value. Eyal Drechter. PORT: sem_destroy( sem_mark); (hurd-i386). PORT: Relax write_term test for NaN. Triggers on mips and hppa. Sync UTF-8 handling in os/windows with central one. This brings. Typing. getenv/2 for Windows for variables with over 1019 characters. Added utf8_code_bytes(). Added environment variable tests. Updated bdb. Updated incpr, nlp and chr. Removed alloca compatibility file. Moved test program to test directory. re-buffering input from read_pending_codes/3. MODIFIED: read_pending_codes/3 now the list on end-of-file. ADDED: fill_buffer/1 to make reliable reading of input using. ADDED: remainder//1 to fetch the remainder of DCG input efficiently. ENHANCED: Major rewrite of library(pure_input) to make it work on str?. MODIFIED: Simplified DCG inlining to simple terminals and non-terminals. Updated nlp. Translation of phrase(M:Goal...). Johan Romme. Updated http and ssl. meta_predicate/1 declaration for arguments 8..16. Edison Mera. ADDED: PL_backtrace_string() to fetch the Prolog backtrace as a. ADDED: script/swipl-bt to dump the backtrace for a running Prolog. avoid crash in freeStream() when not called in the context. Extended swipl-bt with some options to work more selectively. Point at swipl-bt from the manual. Preparing version 7.3.31. Updated OpenSSL for MinGW cross compiler to 1.0.2j.
7.3.2909 Nov 2016 10:05 minor feature: DOC: correct error (uninstantiation error) for put_attr/3. Updated ssl. ADDED: optimise_deProlog flag to specify whether assertions and d?. variable warning. Updated ssl. Find char code = 256 inside an iso-latin-1 string should always. Declare prolog:called_by/4 hook multifile to avoid undefined t?. ENHANCED: check_predicate_options/0: use 'uninstantiated' error (old ?. Updated ssl. CLEANUP: use functions for accessing the global generation so we can ?. PORT: Support 32-bit CPUs that do not have 64-bit atomic integer. ADDED: check_installation/1 to return a list of that allows for. Updated archive. ADDED: Prolog flag `protect_static_code` to disable listing static code. Updated xpce. Updated xpce. library(prolog_xref): avoid registering illegal operarators and. renaming predicates with source info (breaks Logtalk). Paulo. Updated and removed old installation instruction. Point to website to avoid duplicates. possible crash during clause GC due to referencing uninitializ?. ENHANCED: modify internal representation of dicts so that right-recur?. DOC: wrong type and removed duplicate. Updated http and ssl. DOC: Avoid - to appear as send in the output. Simplified. DOC: Clarify *- . Nicos Angelopoulos. Updated ltx2htm. Updated clib and ssl. ADDED: binary (de-)serialization for terms. See fast_read/2, fast_wri?. Consistent write for wide atoms using only symbol characters. DOC: library(ctype) -- library(ctypes). Gniourf. Merge branch 'master' of github.com:SWI-Prolog/swipl-devel. Preparing version 7.3.29.
7.3.2818 Oct 2016 07:05 minor feature: Never consider _ a singleton. explain CLP(H). Added Snil. Typographic. Updated ltx2html and pldoc. more suitable label and references. link to CLP(FD) primer. mention put_attr/3 as an alternative for extra-logical storage bins. Updated http. ADDED: Prolog flag `toplevel_mode`, one of `backtracking` or `recursi?. Updated sgml. ENHANCED: Reuse of toplevel variables displays the reused binding. link to CLP section. Updated jpl, nlp, odbc, tipc and xpce. Updated ssl. Updated sgml and ssl. Added new sgml and ssl libraries to the Windows distribution. ADDED: sandbox: declare name/2 as safe. Updated clib and ssl. Updated pengines. chapref -- secref. Updated ssl. Updated http. ADDED: library(persistency): Allow module qualification of persistent. Updated nlp. Updated nlp. Updated semweb. Updated pengines. library(prolog_colour): support a x syntax. library(prolog_colour): qualified and lists of operators. ADDED: library(prolog_xref): support call/N and maplist/N. ADDED: classification support for `vararg' predicates call/N and. Additional test. Added safety check. We need to clear the local variables after an exception as. We must properly initialise for the alternative clause before. We need to restore LD- mark_bar at some more places to avoid. Preparing version 7.3.28.
7.3.2727 Sep 2016 01:05 minor feature: MODIFIED: Variables are now printed as _ rather than _L. Some cleanup. Include engines in boot distribution. ADDED: var_preflag that demands variables to start with an unders?. ADDED: xref_prolog_flag/4: keep track of flags in xref. Generalise pr?. Updated xpce. Updated pengines. ADDED: library(sandbox): define syntax changing Prolog flags as safe. Apply syntax flags to the right module. Updated http. Updated sgml. Updated sgml. Updated clib. INSTALL: Add library(hash_stream) to the installer. import modules by pattern. Updated pengines. Some cleanup. Make read_clause/2 respect the module settings for the first. Updated pengines. DOC: More information about attribute_goals//1 and copy_term/3. After?. DOC: Correct number of arguments for project_attributes/2. wording. Updated http. wording and more explanations. DOC: Introduction to coroutining. More sensible examples. move documentation of dif/2; explain difference and link to ( =)/2. proper link to predicate. DOC: call_residue_vars/2: Extend explanation. mention the specialized domains. hyperref and location. give an important reason for preferring domain-specific constraints. Possible instantiation error in DWIM. Nicos Angelopoulos. DOC: More information about ( =)/2, aligning the description with tha?. reword CLP(FD) example and explanation. add index information. DOC: Add "To be done" to attr_unify_hook/2 with explanation and refer?. wording. make PDF work again. add URL. URL to "validation suite for conformance with part 1 of the st?. "Special Variables" -- "Attributed Variables". correction. DOC: Mention important additional application of attributed variables. correction. DOC: Move "Global variables" from "Attributed Variables and Coroutini?. wording. improve examples and explain important concepts related to coroutining. wording; reorder so that the deprecated predicate appears last. missing cuts after has_type/2. do not save dynamic predicate attributes in a saved state if a?. clear P_DIRTYREG f
7.3.2605 Sep 2016 13:05 minor feature: wording: `t` -- empty. Updated semweb. update http, semweb. wording. wait_for_input/3: when using poll(), it sets POLLHUP rather. ENHANCED: Cleanup message context for threads. Provide a flag to. ENHANCED: Pack building: use a thread to relay the output from. Updated cpp. COMPAT: Extended src/compat/YapInterface.h: Updated http. wording: assoc -- association list. Updated http. base/2 should also consider the //2 operator that can be prese?. Removed unneeded comments. DOC: Removed local copy of url.sty as it is in texlive. DOC: Use href URL Text instead of url Text URL . Updated ltx2htm and pldoc. Updated http and clib. DOC: CLP(FD): Document floored integer division. Boris Vassilev. Updated ltx2htm. Updated http. link to download page (update URL, use href) and show home page URL. Updated http. email usage. Updated xpce. library(dialect/sicstus/system): get shell/0 from library(shell). Avoid compiler warning. Clarify the promise. Boris Vassilev. link to purity. wording. use HTTPS link. wording. mode of empty_assoc/1. DOC: CLP(FD): Link to declarative deging explanation. DOC: CLP(B): Link to declarative deging explanation. focus on termination as the more fundamental property. ENHANCED: xref_source/1: avoid getting trapped in too many partial. ADDED: threads/0: display memory allocated for the stacks. Updated http and clib. wording. Typo in comment. layout. Early signal handling if condition variables return on receiving. Updated http. Updated zlib. Updated sgml. Updated ssl. Updated ssl. thread_create_in_pool/4: share Id to options. Eyal Dechter. Updated http. Updated http. MODIFIED: Concurrent retract on the same predicate can no longer. UP: erase/1 should fail if the object is already erased. Documented. Updated sgml. MODIFIED: Respect logical update semantics for retract/1. This was br?. A mistake in the documentation of string_lower/2. Preparing version 7.3.26. PlDoc comment. Various documentation patches.
7.3.2509 Aug 2016 21:05 minor feature: PORT: Cleaner implementation of engine_fetch/3, which also avoids a. Allow for `?- " /..." .`. Updated http. atom//1: test for non-var. Markus Triska. DOC: Move documentation of library(simplex) to PlDoc. More to follow. Remove simplex.doc (moved to by PlDoc). ENHANCED: Type for PL_set_resource_db_mem() changed to unsigned char. Cleanup signed/unsigned char. DOC: Include library(simplex) from PlDoc. Updated cpp. Updated cpp. DOC: LaTeX. Nicos Angelopoulos. Small optimization. Demessages. Cut in condition of *- when not executed on the first success. DOC: Do not depend on user's TEXINPUTS. BUILD: Updated documentation to build the documentation. DOC: CLP(FD): Move documentation to LaTeX for more flexibility. DOC: CLP(FD): Reorder predicate overview for greater accessibility. More about membership constraints. More about enumeration predicates. More about reification. More about global constraints. Move zcompare/3 to reification subsection. More about reflection predicates. libdoc header. Correct section nesting. Add closing and opening words about CLP(FD). Line break in reference. Indentation and spacing. BUILD: ltx2html -- ltx2htm. Updated cpp. xref_source/1: process comments after last predicate. DOC: add missing predicate summary for CLP(FD) constraints. DOC: CLP(FD): Fetch predicate documentation from PlDoc. Recommend all_distinct/1 over all_different/1. Link to pertaining sections. Include description of (# )/2 again. DOC: More information about library(simplex). Include main file. Clpfdpreds.txt - clpfdlib.md. Correct disjoint2/1 entry. Updated cpp. DOC: Document nb_current/2 as alternative to nb_getval/2. Added man/libtotex.pl --module=Module option. Indentation. Use new --module option to avoid pulling in predicates from other lib?. Wording. Update links and add descriptions in GNU Emacs section. Updated pengines. Updated cpp. Inherit of thread deproperty. Jedixb King. Reassure users that they can use the predicates of this library. Move Sudoku exa
7.3.2405 Jul 2016 18:05 minor feature: PL_recorded_external(): consistently `put' the value instead. PL_record_external(): deal with MPZ integers. Abramo Bagnara. Updated http. Updated sgml. ADDED: CLP(FD): Rudimentary support for bitwise operations. Jan Burse. use DCGs to shorten predicates describing lists. ADDED: CLP(FD): More reasoning about bitwise operations. updated welcome message. document support for bitwise operations. simplification in reification. naming, in preparation for unary functions. ADDED: CLP(FD): Support the bitwise operations msb/1, lsb/1 and popco?. for efficiency when using (#=)/2, add goal expansion for lsb, msb and?. formatting. Updated sgml. Revert "use DCGs to shorten predicates describing lists". Updated sgml and ssl. BUILD: Adjust doc2tex script for new versions of Perl. ENHANCED: library(git): avoid empty print_message/2 calls. git_show/4: deal with empty body. CLP(FD): Goal expansion for undefined ground expressions. Jan ?. db_sync/1: Sync if database is empty and dirty. Updated semweb. Updated semweb. Updated semweb. Updated semweb. Updated semweb. LICENSE: Relicensed resource management library. LICENSE: Relicensed Windows console code and installer script to Simp?. LICENSE: Re-licensed low-level code to Simplified BSD. ADDED: PL_set_resource_db_mem() to support booting from a resource db. Updated http. Updated http. Updated debian. Cleanup unused thread status constants. MODIFIED: Identify anonymous threads using blobs. This causes access ?. Updated xpce and http. Refactor local data initialization from pl_thread_create(). Reused copy_local_data() in PL_thread_attach_engine(). PORT: Updated MinGW dependency versions and locations. Updated jpeg dll for installer. ENHANCED: CLP(FD): Faster propagation for exponentiation. Julien Cumin. statistics/1 (duplicate key exception). I_YIELD in demode. ADDED: Support engines (interactors) as first class citizens. See. Updated xpce (support engines). Added forgotten engines documentation. COMPAT: thread_statistics/1 to use
7.3.2215 Jun 2016 03:05 minor feature: DOC: Do no skip a level in section headers. Updated pldoc and ltx2htm. DOC: typos. Added dcgsummary macro. Declare sandbox hooks in library(prolog_xref). DOC: Various small inconsistencies. Updated pldoc and ltx2htm. Updated http. more information about declarative arithmetic. ADDED: ' flush_predicate'/1 to materialize the current set of predicates. ENHANCED: Make adding or deleting a :- table directive take immediate. ADDED: Allow for :- multifile declarations in sandboxed code. If we are not loading a source file, ' flush_predicate'/1 must succeed. Small doc enhancements. Added and now using ' flushed_predicate' to deal with the tabling dec?. Updated http. Updated space. still more about declarative arithmetic. Updated semweb. ADDED: predicate_property/2 implementation_module(-Module) to simplif?. Updated pldoc. DOC: include library(error) in the main docs. DOC: wrong references. shorten. Updated http. Updated http. ENHANCED: Use visibleClauseCNT() in all searching operations. Deleted some no-longer-used declarations. Layout. CLEANUP: Group lock-free access pointers. Removed outdated comment. ENHANCED: Clause GC invocation timing. Parameters that control this now. Updated pldoc. MAINTENANCE: Make configure --disable-mt work again. Updated semweb. MODIFIED: Do not call goal_expansion/2 on module:Var. Updated semweb. Updated http. Updated semweb. DOC: unclear documentation of nextto/2. Updated semweb. Updated semweb. Updated pldoc and http. addition and clarification. strengthen. Updated http and pengines. Preparing version 7.3.22.
7.3.2125 May 2016 02:05 minor feature: in monotonic execution mode, use #/1 instead of ?/1 in residual goals?. Updated sgml. typo. doc typo. Wouter Beek. Merge branch 'master' of github.com:SWI-Prolog/swipl-devel. Updated archive. Updated pengines. Updated pengines. build warnings on Cygwin. thread-safety of Sfileno(). Updated http. Updated semweb. Updated semweb. Updated plunit. race-condition when resizing a hash-table. If a late-arriving ?. Updated pldoc. ENHANCED: Revert to put_attr/3 if the attribute_goals//1 fails. ENHANCED: CLP(B): Make residual goals work for recorded constraints. prevent from appearing as value of global variables on backtracking. Updated semweb. Updated semweb. ENHANCED: refactor compareStandard() into smaller functions. By avoiding. Don't enable O_PROFILE if O_PLMT is disabled. `atom_codes(hello,"hello")` in string mode. Daniël de Kok. Added mark_active_environment(), sharing the code-walking with GC. Added FR_KEEPLTOP flag to avoid destroying the stack on deterministic. Added MSG_CONTINUATION detopic. Avoid name conflict with shift/1 in test suite. ADDED: Delimited continuation: reset/3 and shift/1. Together with. Added test case. Stack shifter assertion failure because clause-references for. Local stack expansion in call_continuation/1. Trail variables in the environment. Added assertion. Turns out we have a problem with temporary clauses. WORKAROUND: We cannot deal with compiled meta-calling inside reset/3. ENHANCED: Reclaim unneeded stack after shift/1 and maintain the. Added PL_const_list_v() to create a list from an array of term-refere?. ENHANCED: Pushing the whole continuation in call_continuation leads to. merge conflict. Added missing callpred atom. Update for changed clause and clause reference structure. Typo. new frame must have FR_MAGIC set. updated http sgml. wording. improve readability. Updated ssl. Updated http. Avoid unused warning. CLEANUP: current_functor/2: removed redundant test. Paulo Moura. PORT: Avoid local dynamic array, which is not (no
7.3.2017 Apr 2016 21:45 minor feature: clause indexing on 32-bit hardware for integers tagged ints ?. library(prolog_xref): avoid a dead loop if files mutually include. Updated pldoc. discontiguous warnings were no longer working on first load. Updated zlib. Updated http. add link to PDF. add link to PDF. wording. library(prolog_colour): complete colouring on unknown option n?. xref_source/2: Defile process_includes option. MODIFIED: library(prolog_xref): call prolog:xref_source_file/3 hook b?. ADDED: xref_source/2: option process_include(+Boolean) to select whether. Updated RDF. Updated xpce. Updated pengines. Updated pengines. COMPAT: Make library(statistics) work with --traditional. Rewrite of statistics/0. CLEANUP: Prepare to introduce read_pending_chars/3. MODIFIED: Replaced read_pending_input/3 by two new predicates: Updated Ciao emulation to use read_pending_codes/3. Updated packages to use read_pending_codes/3. CLEANUP: Removed no longer needed call. Print source location if message system is not yet available. memberchk/2: process interrupts and detect cyclic li?. ENHANCED: Do not generate deinfo for library(statistics). ENHANCED: Faster version of list_to_set/2 based on the ECLiPSe. ENHANCED: Make memberchk/2 behaviour consistent for cyclic lists. Use size_t for list length. Updated pengines. Come clear about the aspiration of this library. Updated windows and archive. reorder paragraphs. wording. wording. ADDED: Ability to emit a dot/1 term for rendering the BDD in SWISH. fontname property can now be used. move graphviz projection to a dedicated renderer (see SWISH). use clpb module qualifier in residual goals. ADDED: varnumbers_names/3. Updated sgml. excellent and free support is provided on stackoverflow.com. SWISH: Create clpfd_monotonic flag so that it works correctly for dif?. small correction. enforce acyclic SAT formula. ADDED: CLP(B): New flag clpb_monotonic makes CLP(B) monotonic. ADDED: CLP(B): Tentative syntax for monotonic reasoning: v/1 terms de?. acyclic_term() and skip_l
7.3.1920 Mar 2016 07:45 minor feature: Updated semweb. Updated http. Updated ssl. shift more attention to all_distinct/1. Updated semweb. ENHANCED: xref: do not verify sandbox rules while cross-referencing. Cleanup duplicate rules. Added prolog:residual_goals//0 as hook. xref: take care of the possibility that built-in predicates ar?. Updated semweb. Updated semweb. Updated http. ENHANCED: Stop tracing internals of phrase_from_file/3. Updated space and swipl-win (license). Updated semweb and xpce. Updated clib. Updated http and pengines. Updated table. DOC: must_be(between(L,U), T). Updated pengines. library(prolog_colour): string literals. ENHANCED: Use murmurhash for all indirect types. Simplifies code, pro?. TEST: indexing indirect types. BUILD: make `configure --without-*` work. MODIFIED: library(prolog_colour): Signal in setof/3, etc. as `ext_q?. Updated semweb. findnsols/4: incorrect report of global overflow when applied ?. Updated pengines. Small style improvements. list_undefined/0 removed old deprint statement. Updated http. Updated semweb. : lazy_list_location//1 for the very first character. Updated semweb. check visibility attribute support of compiler. Merge branch 'master' of github.com:SWI-Prolog/swipl-devel. Updated xpce and semweb. Updated xpce and semweb. Preparing version 7.3.19.
7.3.1725 Feb 2016 16:05 minor feature: Updated semweb. wording. Updated clib. numeric comparision of NaN and NaN. ENHANCED: Exception for absolute_file_name/2. Updated sgml and semweb. Updated clib. Updated semweb. DOC: Forgotten argument, typo. Eyal Drechter. ENHANCED: use poll() rather than select() for timeout handling on str?. PORT: Partial poll() support for Windows. PORT: Avoid undefined shift of negative integer. Updated http. Properly use setup_call_cleanup/3. Run initialization/1 goals when loading a.qlf file. Paulo Moura. Updated sgml. wording, layout. zcompare/3: more explanation. Comment and destatements. Updated clib and pengines. Updated packages for license change. ' sig_atomic'/1 is now implemented such that an exception rais?. MODIFIED: exception_hook/4 can now be called with `CatcherFrame` equa?. tprofile/1: called undefined show_profile/2. Avoid dependency on pce_expansion:push_compile_operators/1 and. list_undefined/1: when checking system modules silence reports on. Loading a.qlf file using file executed the initialization d?. Updated http. Updated pldoc. Updated semweb. Updated semweb. Updated cpp. Updated xpce and http. ENHANCED: Raise permission error when dereferencing too deeply nested?. Minor spelling in library(dcg/basics). Updated semweb. Avoid warning. INSTALL: Windows: use nsExec::ExecToLog() to get rid of the popup win?. Updated sgml. Preparing version 7.3.17. Updated sgml and semweb.
7.3.1604 Feb 2016 04:45 minor feature: Updated sgml. Updated debian. save for flag/3 structures. Kuniaki MUkai and others. module/1 to allow new modules. error in module xrefing prolog_read_source_term/4. Updated http. possible use-after-free when rehashing functor tables. Updated http. Updated http. Updated pengines. ' attvar_assign'/2: pre-allocate space for the assignment. incorrect discontiguous warning when reloading dynamic predica?. Possible crash in tracer on FAIL port due to overwritten choic?. Updated http. document combination of attributes in verify_attributes/3. Updated http. Updated clib. Updated http. ENHANCED: library(sandbox): get better stack info if meta-call analys?. Updated pengines. Updated http. Updated pengines. be more precise: the content is placed at the exact position where th?. wording. correction and emphasis in first sentence of this paragraph. correction and wording. Typo. Updated http. Updated http. Simplification for collect_va_goal_list/3. Douglas Miles. Exceptions using foo(). Gnu - GNU. occured - occurred. Updated xpce. Reverted chr to pre-verify-attributes. REVERT: Reverted introduction of verify_attributes/3 as attributed. Preparing version 7.3.16. CLPB: Documentation enhancements. LaTeX typo.
7.3.1514 Jan 2016 00:45 minor feature: PORT: Compile on Windows. consistency. Updated http. Updated http. Avoid repetitive printing of uncaught exceptions in recursive ?. calling potray/1 when printing an atom did not pass on exception. Limit recursive nesting of calls to portray/1. Unbounded. PORT: PL_register_foreign(): define function pointer as void seems to. Typo in section label. Throw exception from signal handler. Gniourf. MANPAGE: Document "swipl file1..." invocation, as in swipl --help. DOC: Updated Unix man page. Updated http. TEST: reload test to reflect currently intended behaviour. Possible unrecoverable local stack overflow for clauses with m?. Updated pldoc. LICENSE: Updated header skeleton for new files. ADDED: git_shortlog/3: Unix time stamp to output record. Updated pldoc and plunit. tentative support for #/1 in addition to ?/1. Ulrich Neumerkel. MODIFIED: Reimplemented attributed variable hook infra structure. The?. DOC: Document new verify_attributes/3 hook. Use phrase for dif/2 internals. PORT: Use new verify_attributes/3 hook. PORT: Use new verify attributes hook. PORT: Use new verify_attributes/3 hook. Also lifts limitations. PORT: Use new verify_attributes/3 hook. Updated CHR. Added verfify_attributes/3 as possible hook. ADDED: library(sandbox): support new verify_attributes/3 hook. Cycle-safe detection whether a term contains functions. This i?. for #101 - Adding variables with attributes to the toplevel reus?. DOC: typo and ephrased ungrammatical sentence. listing/1 for predicates that were made transparent by means o?. actually remove clauses of the last clause(s) of a static pred?. Cleanup code organisation for writing floats. Updated cpp. ADDED: Syntactical support for float infinity and NaN according to. Updated sgml. Updated 10 packages to BSD. COMPAT: Make NaN handling compatible with ECLiPSe, after comments from. Updated comment. Updated http. Updated sgml and semweb. ENHANCED: speedup =..(-,+) and make sure wakeup happens in this mode.?. Updated semweb. Added gp
7.3.1423 Dec 2015 20:25 minor feature: INSTALL: Try multiple servers for downloading the documentation. ENHANCED: Lock-free and thread-local-data free lookup of existing mod?. More LD passing around procedure lookup to speedup meta-calling. More passed LD. load_files/2: execute initialization/1 directives when loading?. ADDED: library(sandbox): allow for :- initialization directives. Updated chr. Allow actually using the expand_query/4 and expand_answer/2 ho?. ADDED: hook prolog:residual_goal/1 to allow applications to make thei?. ADDED: library(hprolog): make_get_store_goal_no_error/3 to support CHR. Updated pengines and CHR: Updated xpce and chr. Predicate count statistics was not incremented for local defin?. Possible crash in ' thread_local_clause_count'/3. Updated http. PORT: MacOSX: Use /usr/lib/java_home to find Java. ENHANCED: cache absolute_file_name/3 search results for a configurable. Updated pengines. Typo in comment. Updated pengines. MODIFIED: replaced prolog:residual_goal/1 hook with a. Updated chr. Ignore failure from residual_goals callback. Updated chr. thread_send_message/3: failed to reset `wait_for_drain`. Sandbox cleanup. Updated chr. Typo in 081ab0a. Updated chr. Updated chr. Updated semweb. arity, typo. Preserve variable identity for residual goals produced by. Updated CHR. MODIFIED: Changed prolog:translate_bindings/4 to prolog:translate_bin?. Updated pengines. SANDBOX: Allow monotonic CLP(FD) via the flag clpfd_monotonic. SANDBOX: Obtaining BDDs by setting clpb_residuals to bdd is safe. Updated semweb. Updated header. MODIFIED: Run specific stream hooks before the global hooks tha?. Make getStreamContext() lock-free. Avoid creating a stream context when unifying a stream without. Added warnings to investigate the stream context race reported by. Layout. Avoid possible assertion error in CHK_SECURE mode. Otherwise m?. Handle exceptions from prolog_exception_hook/4. Work in progress. Do not freeze the stack for atomic exceptions. ADDED: library(sandbox): nb_linkarg/3. Ne
7.3.1102 Dec 2015 05:25 minor feature: Declare ' filled_array'/4 safe, so library(nb_set) passes the. Updated clib. ADDED: PL_check_stacks(). DOC: Added section on deging foreign code. ADDED: library(sandbox): allow variant_hash/2. : configure --disable-mt. use wrapped control functions when dealing with wrapped streams. single-threaded (--disable-mt) use of lockless atom/functor/ht?. Define PL_get_thread_alias() for single-threaded version. library(statistics): avoid thread dependencies. Updated cql and odbc. ENHANCED: CLP(B): Emit warning if library(clpb) is used with bounded ?. enhance introductory section. use the important concept "core relation" in section heading too. Change "porposes" to "purposes". Updated http. Updated http. scanl comment: Xmn - Xm1. Include time in fatal error. library(persistency): define term_expansion/2 in system to mak?. Updated http. DOC: Explained pitfalls concerning (if- then). After discussion with. Updated http. MAINTENANCE: too strict consistency check that can result in a ?. Updated http. Updated http. DOC: Document scoping with term-references that are written to. ENHANCED: macro expansion for once/1. The new expansion avoids. Avoid simplifying (X- Y),true to (X,Y). Abramo Bagnara and Paulo. Updated http. Updated clib. Avoid expansion of (A;B) to introduce in or delete - from the. CLEANUP: Now that (A;B) is expanded safely, we no longer need to take. ENHANCED: listing/1: more consistent handling of modules, especially ?. Updated http. Updated cql. Updated http. Updated http. Updated ssl. Comment typo. Updated swipl-win. Possibly deadlock when setting/clearing breakpoints on unifica?. ' break_at'/3 to deny setting a breakpoint on B_UNIFY_EXIT. ' break_pc'/3 to return the start and end of inline unification. Updated clib. Updated odbc. Preparing version 7.3.11. LaTeX typo.
7.3.1009 Nov 2015 19:05 minor feature: ENHANCED: Add lockless functor tables. Updated semweb and odbc. Updated pengines. DOC: break/0. ENHANCED: make (...) a callable term again. Samer Abdallah. Do not try and create a new functor if we find a partially instantiat?. ADDED: variant_hash/2, a non-cryptographic version of variant_sha1/2. ENHANCED: concurrent/3: use abort/0 to get rid of stale threads rather. ADDED: ' filled_array'/4 to quickly generate compound terms where. MODIFIED: base library(nb_set) on hash tables rather than (unbalanced). MODIFIED: distinct/2 now runs on the new implementation of library(nb?. Updated pengines. isCurrentFunctor() during a functor table resize. Updated semweb. Updated semweb. compilation under -DO_DE. (gui) tracer callback from a redo in an if-then-else could reset. Tracer `retry' on previously skipped frame to retry the proper?. Updated xpce. possible crash during program tear-down. Avoid saving system:' loading_file'/3. Meaningless and contains. qsave_program/1,2: proper quoting of goal and toplevel options. possible crash while referencing partially-instantiated thread. qsave_program/1,2 option saving. ENHANCED: library(prolog_source): avoid foreign dependencies. This makes. Memory leak if thread_create/3 fails due to an invalid inherited ID. Updated pengines. ADDED: CLP(B): weighted_maximum/3, solving Boolean linear programs. ENHANCED: CLP(B): sat_count/2 now also works with universally quantif?. ADDED: thread_property/2: system_thread_id property to get access to the. Updated clib. DOC: Arity typo in library(iostream). dicts_slice/3. variant_sha1/2 failed to distinguish sharing from non-sharing. If. is used as inoperator, write it without quotes. Updated pengines. Typo in doc. Tighten predicate statistics count. Added msg_proc_count detopic. Possibly non-termination of variant_hash/2. Wouter Beek. ADDED: library(sandbox): char_code/2 is safe. Updated semweb. Updated http. Updated http. library(optparse): handling of type term. Updated debian. Updated ht
7.3.919 Oct 2015 14:45 minor feature: Updated swipl-win. Updated http. Updated http. crash when resizing hash-tables if another thread has partiall?. Small speedup copying atomic values. MODIFIED: library(ugraphs): renamed transpose/2 to transpose_ugraph/2?. ADDED: library(dicts), providing (mostly) operations on lists of dicts. DOC: Typo. Updated clib. DE: include the thread-alias and time stamp in an assertion-failure. Comparison operators wrt -0.0. ADDED: library(dicts): dicts_join/3,4, dicts_slice/3. Deleted. Updated http. encourage instantiated Sequence in examples and modes. relax conditions on Counters. Updated clib. Check malloc() return value. wording. Avoid ininitialised warning. Avoid redefinition of ctime_r. MODIFIED: renamed win_file_security_check flag into win_file_access_c?. Using open()/cannot deal with directories, so we still use. DOC: win_file_access_check flag. write_term/2,3: Only call portray_goal option value on non-text. Updated pengines. Add initial cut for lockless atom lookups. Documented new atom tables and raised some. Documented AGC interaction. Resize atom table before attempting to insert a new atom. This reduce?. Cache in-use atom buckets between invalidating atoms and destroying a?. Maintain chain of invalidated-but-not-freed atoms in AGC. This speeds?. Colouring refused op(P,T, ), which is not allowed in ISO, but is. Updated pengines. X is Y+1 with Y unbound could crash when traced using a. Added time and thread-id in sysError(). Preparing version 7.3.9.
7.3.727 Sep 2015 07:05 minor feature: ENHANCED: warning when TMP and/or TEMP environment variables point to an. typo. Eyal Dechter. ENHANCED: Rewriting min-max-witness templates to use constant space. format/3: emit multiple adjacent tabs. Eyal Dechter. possible memory leak if thread-exit goals are deep cyclic terms. ADDED: prolog_load_context(term, Term), providing the term being expa?. possible crash when dealing with an invalid socket on Windows ?. possible htable corruption when destroying mutexes. The global mutex table is locked in pl-thread.c so we no longer need ?. Updated clib. DOC: typo in string_predicate/1 usage example. library(sandbox) to accept call_with_inference_limit/3 and cal?. subsumes_term/2 failed if constraints remained on the second. Do not emit a space before a '(' if the character before is. MODIFIED: display/1,2 is now mapped to write_term/2,3 using the. Updated http and pengines. Avoid problems if CiaoGoal is module qualified with a variable. MODIFIED: Do not call goal expansion on M:G, where M and G are both. PC admin during exception unwinding. Initially in. DOC: function arity copysign/1 -- copysign/2. Updated db. ADDED: CLP(B): Universally quantified variables, written as atoms. ENHANCED: CLP(B): In residual goals, atoms denote input parameters. ENHANCED: CLP(B): Variable separation in residual goals, if possible. ENHANCED: CLP(B): Fuse residual goals that share the same variables. DOC: CLP(B): Add text and example for universally quantified variables. generalise separation of variables. support universally quantified variables in later unifications. register a new variable for the atom when the previous variable was u?. Updated sgml. Merge branch 'master' of https://github.com/SWI-Prolog/swipl-devel. Updated sgml. MODIFIED: open_string/2 now avoids changing ISO-Latin-1 strings to UT?. Renamed packages/db into packages/bdb. ADDED: Package bdb to default distro setup. Try to build library bdb by default. Check for library(bdb). Updated bdb. Updated bdb. Update
7.3.605 Sep 2015 15:05 minor feature: Updated http. use visiting interface to mark variables in card/2. www_open_url/1 tried `firefox -remote openURL(...)`, which is no. ENHANCED: deger: while skipping, possibly created threads are started. ENHANCED: library(www_browser) has been cleaned and updated. DOC: Deal with log N . Stephen Coda and Michael Hendricks. Updated ltx2htm. ADDED: --disable-mt configure option. Merged conditional compilation directives. Do not enable profiling unless multi-threading is also enabled. AC_TYPE_SIGNAL is needed even when profiling is disabled. Unused variables avoided. Annotated some else's and fi's to improve readability. Avoid linking with librt (and thus libpthread) when multi-threading i?. Added missing inclusions. Honor O_PLMT. Do not override config.h unnecessarily. Added missing inclusions. Do not define _REENTRANT unless O_PLMT is defined. Moved inclusions to the implementation files. Guard code by O_PLMT. Updated clib. Added clib prolog_stream library to Windows installer. ADDED: Sandbox listing/1 if argument is not qualified. Updated pengines. safe declaration of listing/1. CLP(FD): Apply goal expansion only if the CLP(FD) predicates a?. Avoid reloading on repeated check_installation/0. Only delay after printing a message if there is output. ADDED: library(sandbox): string_lower/2 and string_upper/2. Updated chr. ADDED: library(sandbox): file name manipulation primitives. Use sort/4, avoiding reverse. clp(fd) goal expansion for explicitly qualified goals, as. ENHANCED: Rewriting sum(X) template to use nb_setarg/3 in constant sp?. DOC: mode of parse_url/2. DOC: Clarified confusing quote. Jochem Liem. Updated clib. ENHANCED: aggregate_all/3: implement min(X) and max(X) using constant?. possible crash when accessing unallocated memory after PL_cano?. ENHANCED: CLP(FD): Avoid residual variable for all_different( ). Ulr?. DOC: CLP(FD): New section about optimisation. Julio Di Egidio. readability. ENHANCED: CLP(FD): Fewer attributed variables in call_residue_vars
7.3.514 Aug 2015 14:25 minor feature: Updated http. Updated pengines. Updated pengines. FIXED: reset PC when unwinding from an exception. This prevents the v?. TEST: Turned GC issue reported and fixed by Keri into a test. Only. FIXED: pack_install/1: non-determinsm when installing from a directory. Allow for gensym/2 in sandboxed code. clearify: over integers. improve readability. use same_length/2. ADDED: library(sandbox): ?=(A,B) is safe. FIXED: CLP(B): Correctly handle duplicate variables in cardinality co?. ADDED: CLP(B): ?- set_prolog_flag(clpb_residuals, bdd) to see the BDD?. ENHANCED: CLP(B): stronger internal consistency checks, enabled by se?. ENHANCED: CLP(B): in residual goals, constrain remaining variables to?. FIXED: CLP(B): in internal consistency checks, take into account that?. make domain error state what is expected, not what is found. ENHANCED: CLP(B): More scalable propagation of domain consistency. ENHANCED: CLP(B): The solver is now aliasing-consistent (see commit). layout. ENHANCED: CLP(B): Faster domain and aliasing consistency. simplify propagation for domain and aliasing consistency. only variables that are not further-branching can be negative-decisive. Updated chr. FIXED: Unification between two CLP(B) variables in certain cases. actually parse the formula. only construct the conjunction if variables are from different BDDs. ENHANCED: CLP(B): More scalable taut/2 for large conjunctions. Added consistency checks for the new attvar admin. FIXED: Make sure copy_term/2, friends and the recorded database add. use + + to reset attributes. mention CLP(B) as an often suitable alternative for Boolean variables. classify the variables at the time we sweep the BDD. better name. FIXED: ensure checkDefinition() is called with a lock on the predicat?. ENHANCED: CLP(B): Improve trail stack usage. FIXED: clause index - size represents the number of indexable clauses. FIXED: pack_install/1: compute type (git/non-git) independently for. Updated clib. DOC: `dot_lists` rather than `dotlists`.
7.3.417 Jul 2015 06:05 minor feature: fixed is_heap. Updated JPL. Updated archive. Updated pldoc. Updated http. ADDED: safe_goal/1: support built-in functions on dicts. updated archive. PORT: Test for mp_bitcnt_t and typedef to `unsigned long` if it is not. Updated semweb. Updated semweb. Updated http. Updated http. Merge branch 'master' of github.com:SWI-Prolog/swipl-devel. FIXED: Possible crash when using :- include() into a temporary module. Updated pengines. MODIFIED: set libswipl SONAME to major.minor instead of major.minor.m?. FIXED: : wrong space requirement calculation for GC under. FIXED: Dict keys could not be quoted (e.g., _ 'file':"x.pl" ). ADDED: Maintain included-file info for data included using the. ADDED: library(prolog_breakpoints): set_breakpoint/5 to manage breakp?. Updated pengines. Preparing version 7.3.4.
7.3.325 Jun 2015 19:05 minor feature: ADDED: CLP(B): random_solution/2, uniformly picking a single solution. Merge branch 'master' of github.com:SWI-Prolog/swipl-devel. FIXED: safe declaration for call_residue_vars/2. Small cleanup of test case. Make test more portable. Updated odbc. Wrong C condition. Boris Vassilev. ENHANCED: CLP(B): More readable residuals for variable equality and d?. avoid redundant (harmless) sat(X=:=X) residuals for existential varia?. ADDED: PL_foreign_context_predicate() to find the predicate that is e?. FIXED: Avoid DOS CRLF translation for e.g., format(atom(X), 'a n', ). New test for dif/2 based on. TEST: Added second (still failing) test for dif/2. Test by Markus Tri?. Updated ssl. Updated semweb. Updated semweb. Updated semweb. Updated pldoc and http. Updated semweb. FIXED: char_type(X, digit(V)) must return X = '0', V = 0. Wouter Beek. TEST: code_type/2: systematic test for consistency of mode +,- and -,+. FIXED: thread-safe management of break-points. Resizing of the break. FIXED: (dif/2). Patch by Tom Schrijvers after analysis work. FIXED: Possibly crash in just-in-time indexer in the presence of a. Updated xpce. Updated semweb. Updated odbc. Updated jpl. Updated jpl. DOC: Update to `Positioning SWI-Prolog'. Updated zlib. Updated odbc. PORT: MacOS: Pick up Brew version of libreadline if Macports version is. Fixed typo if O_DEBUG is used. FIXED: Garbarge collection error if GC is called from the frame cleanup. No need to clear the exception if there is none. Updated odbc. use sat/1 in residuals to also constrain variables to Boolean values. Updated JPL. ENHANCED: Stop directory components from PATH holding 0-bytes to pr?. FIXED: resort nested dicts when loading from a.qlf file or saved state. FIXED: qsave_program/2: save the ISO property. FIXED: library(sandbox): avoid errors when used in a saved state. Updated semweb. Preparing version 7.3.3. Updated semweb.
7.3.104 Jun 2015 20:45 minor feature: Replaced Ubuntu utopic by vivid. Updated debian. Fixed detection of system on FreeBSD in pl-dict.c. Updated ssl. wording: "detached" -- "pending". Ulrich Neumerkel. adapt test cases. FIXED: ERROR: Syntax error: Unexpected `,' before ` ' must be. FIXED: syntax error in toplevel is repeated hitting RETURN. ISO: current_op/3: raise domain_error(operator_priority, Pri) if the ?. Fixed previous patch to current_op/3. MODIFIED: open/4 raises a permission error if the provided alias is a?. FIXED: callProlog(): make sure exception term handle remains valid. FIXED: Make sure exception returned from quasi quotation parser remains. TEST: Added quasi quotation tests. Updated http. Added debug statement to simplify debugging stack traces. FIXED: set_stream_position/2: exception on invalid position term. Paulo. INSTALL: Use new swipl.nsi. DOC: Document semidet of aggregate_all/3,4. Compatible with SICStus. Updated clib and http. Updated ssl. Updated http. Updated JPL. BUILD: Possibly work around a MacOS issue wrt. concurrent building. Updated jpl. Updated http and semweb. Updated HTTP. Updated ssl. BUILD: Updated build.templ. Updated ssl. Preparing version 7.3.1.
7.3.014 May 2015 19:45 minor feature: DOC: Added JPL documentation. Updated pengines. Updated jpl. Updated pengines. Wrong warning. Updated sgml. DOC: Added library(persistency) documentation to the manual. Stephen ?. DOC: thread_create/3, at_exit(:AtExit) option. Jacco van Ossenbruggen. DOC: complexity of heaps library operations. Add test case for AGC during thread at-exit hooks. FIXED: allow atom-GC to include threads running at-exit hooks. Updated pengines. Updated pengines. FIXED: CLP(B): Correct propagation for smaller than topmost index. MODIFIED: CLP(B): Residual goals are now in algebraic normal form (ANF). Updated pengines. FIXED: pack_install/1,2: Installation of dependencies inherited version. single-pass removal of elements that occur an even number of times. terms in residual goals are now ordered differently. Updated ssl. ENHANCED: CLP(B): Stronger propagation, reducing choice points in lab?. mention the need for projecting residual constraints to query variables. ADDED: CLP(B): project_attributes/2. Ready for toplevel integration. ADDED: library(sandbox): call_residue_vars/2, call_with_inference_lim?. Updated pengines. ENHANCED: safe_goal/1 now accepts adding attributes for which no or only. ADDED: Attributed variable hook project_attributes/2 and a new Prolog?. Minimal documentation for project_attributes/2. CLEANUP: remove dummy hooks that were only necessary for sandboxing. The toplevel now supports project_attributes/2. Many thanks Jan!. ENHANCED: CLP(B): remove all auxiliary variables from residual goals. extend documentation of project_attributes/2. fontification. correct arity. wording. ENHANCED: CLP(B): More compact residual goals. update residual goals in examples. ENHANCED: CLP(B): use a list of sat/1 goals in constraint projection. shorten, naming. Some fixes to the README.* files. Updated README.git (git locations). Updated pldoc. ENHANCED: CLP(B): suppress sat(V=:=V) constraints for inaccessible. Updated pldoc and semweb. Cleanup. ADDED: Keep track of hidden residual goals
7.1.3714 May 2015 08:25 minor feature: Typo in summary documentation. show corresponding example. Updated http. Updated semweb and http. ENHANCED: Try various emergency measures instead of terminating the p?. FIXED: Must close the frame after raising the exception. Otherwise the. Updated clib. wording. typo. FIXED: Various issues wrt exception term-references. FIXED: Handle exception term-handle properly in can_unify(). FIXED: Overflow handling in put_dict/3. Type cleanup. Stack free is minimum def_spare + min_free, so this should be our. FIXED: If no GC is wanted after an out-of-stack, we must re-enable the. CLEANUP: Simplify cleanup after an exception. Typo in comments. FIXED: Var =.. f(a) must raise a type error. Logtalk test suite. FIXED: on text-streams with with less than 4 bytes at_end_of_stream/1. Generalise tests. Updated xpce. Updated archive. DOC: function atan2/2: document ISO C99/POSIX discrepancies. Updated version and header. Updated semweb. Updated JPL to V7. INSTALL: support ./prepare --server=http://us.swi-prolog.org. Updated jpl and pldoc. naming. Updated semweb. ADDED: library(error): uninstantiation_error/1. DOC: open/4 create option (LaTeX error). FIXED: CLP(B): Avoid unintended failure with Boolean second argument. comment explaining previous commit. steadfastness of sat_count/2. Updated clib. ADDED: library(iostream) to act as broker between libraries that create. Updated http. Updated sgml. Fixed open_any/5 using string(Text). Added library(iostream) to manual. FIXED: pack_install/1 with dependencies tried to install dependencies. ADDED: library(settings): declare setting/2 is safe. ADDED: library(sandbox): import_module/2. ENHANCED: CLP(B): Stronger propagation. assume skipped index when encountering an instantiated Boolean. naming. FIXED: pthreads from winpthreads library may not retain win32 thread ?. more useful first sentence for predicate index and book. more declarative wording. remove superfluous nesting. more useful first sentence for the predicate index and book. sh
7.1.3623 Apr 2015 01:25 minor feature: FIXED: library(git): closing streams on errors. FIXED: git/2 and git_process_output/3, git_describe/3: guarantee the ?. Updated clib. ADDED: CLP(FD): disjoint2/1, describing non-overlapping rectangles. shorten. better error checking in options for cumulative/2. ENHANCED: CLP(FD): Stronger propagation in cumulative/ 1,2 . shorten, naming. generalize reasoning to variable consumptions and durations. make cumulative/ 1,2 also work with clpfd_monotonic set to true. improve wording for the manual and summary in index. explain the attr_unify_hook/2 deficiency in more detail. FIXED: pack_install/1 with a directory argument. Nicos Angelopoulos,. rename variables for better readability. make disjoint2/1 work with clpfd_monotonic set to true. ENHANCED: CLP(FD): More elegant residual goal of scalar_product/4. remove underscores from variables in this example. correct indentation and alignment of example code. more elegant projection for cases like ?- A + B + C #= -3 + 7 + X. naming. naming. account for earliest start time which may also be negative. FIXED: thread pools: possible race condition in the hook create_pool/1. Updated pengines. Updated clib. ADDED: Deal with exceptions raised in the tracer hook. Updated xpce and pengines. Updated clib. annihilate catachresis (??????? ????????). FIXED: arg/3: accept attributed variable as first argument. Michael H?. ADDED: In Ciao dialect, the following features where implemented:. ADDED: prolog_clause:open_source/2 hook to get source info from clauses. Updated pengines. Avoid returning non-existent clauses. FIXED: Source information for inline unification. DOC: CLP(FD): Enhance introductory section. wording. Updated http. assure users it's OK to use Prolog features when programming in Prolog. alignment. FIXED: Raise a type error on cyclic module-qualifications. Used to. FIXED: VMI support for cyclic module qualifications and tests. Updated packages for cyclic module qualifications. DOC: Updated Unix man page. wording. idem. Cleanup
7.1.3401 Apr 2015 06:05 minor feature: Updated sgml. Updated semweb. Updated semweb. Updated semweb. shorten. FIXED: offset/2: condition was the wrong way around. Updated http. ADDED: Several extensions to pack_install/2, making it useable for no?. Select default for menus if interactive(false) is given. Updated pengines. ADDED: sub_atom_icasechk/3 declared safe. FIXED: Be more careful while deleting source file structures. FIXED: : pack_install/1: out-of-range replies to menus. Raivo?. FIXED: CSV writing: Emit fields holding newlines as quoted. SECURITY: safe_goal/1: DCG meta calling was not verified correctly. FIXED: format_time/3: crash if time is given as date(Y,M,D). Wouter B?. FIXED: Add `iso` property to phrase/2,3. FIXED: set_stream/2 operations on stream pairs that should apply to both. Updated semweb and space (running tests). Updated clib, http and ssl (proxy support). Updated clib. Cleanup of DCG processing. FIXED: : apply given options for installing dependencies. FIXED: vm_list(ClauseRef). ADDED: clause_property/2: module(M) property to unambiguously detect we. SECURITY: library(sandbox): clause/2 could be used to extract private. ENHANCED: library(sandbox): unambiguously detect clauses that execute?. Updated pengines. Generalise sorting primitives to accommodate ECLiPSe sort/4. Added ordering argument. ADDED: sort/3, providing more flexible sorting. Compatibility with. ADDED: sort/4: support dicts for sorting. DOC: sort/4. TEST: library(solution_sequwnces): more tests. ENHANCED: Use new sort/4 to implement order_by/2 more efficiently. Cancel pack installation immediately if there is only one location and. Fix message if menu is not properly selected. give a more elegant error if the pack server does not reply. Preparing version 7.1.34.
7.1.3211 Mar 2015 01:05 cleanup: Removed R package from core system. Updated OpenSSL for MinGW to 1.0.2 Updated pengines, ssl. Make xref open source hook also work for included files. More structured hooking of directive sandboxing.
7.1.3017 Feb 2015 10:45 minor feature: ADDED: git/2: askpass(+Program) option. Updated semweb. FIXED: pack installation for GitHub releases. Updates to support github archives as packs by the webserver. Updated archive. MODIFIED: No longer unload foreign libraries explicitly at halt. Fore?. Do not rehash the atom table when closing down. FIXED: source_file_property/2: reported load context file. Andreas Be?. FIXED: Detection of the event hook in user. Andreas Becker. FIXED: closeFiles() now prints an error on exceptions and clears. Updated http. Speedup xref_module/2. Updated pldoc. FIXED: ls(non_existing). Boris Vassilev. Updated semweb. ENHANCED: Try to avoid terminal state switching and provide full support. ADDED: library(base64): base64url/2 to deal with Base64URL encoding a?. Updated archive. ADDED: library(base64): base64url//1. Updated http. Updated http. Updated archive. Preparing version 7.1.30
7.1.2927 Jan 2015 22:05 minor feature: Updated pengines. Updated http. ENHANCED: integer//1 used as integer(+I): raise error if I is not an. Fixed handling of meta-predicates with DCG goal arguments. Fix to prevent infinite recursion on DCG phrases in safe/5. Updated pengines and semweb. Updated semweb. fixed the call to clause in verify_predefined_safe_declarations. FIXED: Issues#22: Crash due to wrong compilation of == and == in the?. MODIFIED: In CLP(FD), truncated integer division is now (//)/2. tentative support for X rdiv Y #= Z, which will eventually become X/Y?. strengthen and simplify Z #= X rdiv Y via stronger multiplication. Updated pengines. tentative support for X div Y. pdiv -- ptzdiv (towards zero). reorder. make X div Y reifiable. Updated http. Updated archive. ENHANCED: prolog_canonical_source/2: performance. ENHANCED: xref_defined/2 in mode +,-: reduce calls to canonical_sourc?. FIXED: More reliable checking that clause_info/5 does not perform. FIXED: Make sure that clause/2 returns correct argument ordering for. Updated pldoc and pengines. ADDED: library(sandbox): declare subsumes_term/2 as safe. DOC: flatten/2 after comment on the website by Kilian Evang. DOC: is_heap/1 typo and claimed @bug is fixed. Updated semweb. Clarified documentation of discriminator argument. Updated rdf. Preparing version 7.1.29. Make distribution locations externally controllable
7.1.2806 Jan 2015 16:05 minor feature: PORT: Fix for os/pl-rc.c dependencies. Abramo Bagnara. Updated http. DOC: get_dict/5 cleanup after comments from Wouter Beek. FIXED: Attempt to perform meta-argument expansion for locally. FIXED: Several issues with predicate_property(M:X, visible). Declare predicate options for term_string/3. Updated pldoc. Updated pldoc. DOC: /2 is no longer a predicate and some more summary fixes. Updated pldoc. DOC: Documented load_files/1. CLEANUP: load_files/2 to use new error infrastructure of boot system. Updated http. FIXED: Avoid that illegal UTF-8 input results in negative characters. Updated sgml. Updated pldoc. Updated sgml. Typo. Wouter Beek. Updated http. Typo in comments. ADDED: set_stream(Stream, encoding(bom)) to ask the stream to look for. Uppdated clib. Updated pldoc. FIXED: Determinism in xref_public_list/3. Updated pengines. Updated semweb. Updated http. FIXED: Possible undetected overflow in code_type/2 which can cause a. use argument indexing. move section "Declarative Integer Arithmetic" closer to the beginning. reword description of expansion and move it into the pertaining section. FIXED: fix for reading the character with code 0 from text streams. FIXED: Issue#7: aborting sleep/1 from tracer does not stop prematurely. Updated pengines. ENHANCED: persistency library now uses setup_call_cleanup/3 for more. Updated http and pldoc. ENHANCED: Better fix for abort issue under Windows. Updated ssl. Preparing version 7.1.28
7.1.2716 Dec 2014 18:45 minor feature: Added utopic to PPA releases. FIXED: in wrap_meta_arguments/5, the hash should be generated using t?. FIXED: Issue#5: format_time/3, I, l and r: actually use 1..12 inst?. show sat_count/2 example for both * and +. Updated pengines. Updated pengines. FIXED: Disable atom-gc during PL_cleanup() to avoid calling hooks into. Updated semweb and http. Updated pldoc. MODIFIED: removed (undocumented) attribute_goal/2 hook, making. ADDED: library(sandbox): get_attrs/2 and term_attvars/2 are safe. ADDED: library(sandbox): declare copy_term/3 safe. Markus Triska. Updated http. DOC: explain error conditions of nb_* predicates. To allow for the optimisation that H_VOID, H_POP is replaced with jus?. Document dict sorting issues and add a test case for them. Updated http. Updated http. Preparing version 7.1.27
7.1.1801 Aug 2014 15:03 minor bugfix: Updated semweb,sgml, pengines, clib, http. Fixed possible hang in print_backtrace_named(). Fixed possible crash on halt if there are detached Prolog engines. Added memory barrier for localizing predicate definitions. Experimentally support for (//)/2 in arithmetic expressions.