Dear SWI-Prolog user,
SWI-Prolog 8.3.23 is ready for download. This for now finishes the
enhanced support for function style (deterministic) programming
with a few bug fixes. Otherwise we see mostly contributed work:
-
More SICStus (4) emulation by @dgelessus
-
Isub word-simularity improvements by @swi
-
Google protobufs enhancements by @peter.ludemann
-
Better internal debug logging support by @dmchurch
-
As a following from the struggles @dgelessus had with SICStus
same_functor/2-4, I have added functor/4 to handle simplify handling
both atoms and zero-arity compound terms. If you think that could
be improved further or there is a better alternative, please reply.Enjoy — Jan
SWI-Prolog Changelog since version 8.3.22
-
PORT: Make Windows build work again due to changed debug
infrastructure. -
BUILD: Issue#819: CMake Policy CMP0115. Wouter Beek.
-
FIXED: same_functor/4 and derived predicates to be fully compatible
with SICStus and handle zero-argument compounds. -
ADDED: functor/4 to make dealing with zero-argument functors and
atoms easier. This is a result of Issue#815 -
FIXED: library(prolog_colour): prevent
pce_arg
highlighting to
cause a failure to highlight dict objects. -
DEBUG: Early/better internal debug output Initialize the global
debug_level as soon as possible if “-d” is passed first on the command
line, to avoid missing early debug lines. Also, track use of the
DEBUG() macro on a per-thread basis and use Serror as the default
output stream when inside a DEBUG clause, so that statements that
mix e.g. Sdprintf() and write_term() will get printed to a single
output. Finally, prefix debug lines with the debug channel and the
file/line source. -
FIXED: Issue#815: same_functor/4 (and friends) to be more SICStus
compatible. -
ADDED: library(aggregate), library(between) and library(samsort)
to SICStus 4 emulation. -
ADDED: sublist/[3,4,5] to SICStus 4 library(lists) emulation.
-
ADDED: host_type Prolog flag to SICStus emulation.
-
ADDED: at_end_of_stream/[0,1] to SICStus emulation.
-
ENHANCED: SICStus emulation now disables quoted printing of atoms.
-
FIXED: vm_list/1 to handle clauses with breakpoints and list these.
-
ENHANCED: Multiple clauses may be registered at a specific source
line. We need to consider all of them for set_breakpoint/4. -
FIXED: Context module handling in a tail-recursive transparent
predicate. -
FIXED:
$/1
for goals doing variable balancing using C_VAR_N -
FIXED: Save det/1 flag in saved states and Qlf files.
-
FIXED: Propagate error when tabling traps an update to a dynamic
predicate that is involved in a table reevaluation.
Package http
- ADDED: Support dynamic management of gzipped files.
Package nlp
- ADDED: isub/4 mode isub(+Text1, +Text2, -Simularity, +Options) by @swi.
Package protobufs
-
ADDED: protobuf_segment_message/2 heuristics to match protoc
–decode_raw functionality -
ADDED: protobuf_segment_message/2 and export the low-level conversion
predicates