Date: May 01, 2026
Dear All,
We
are happy to announce a new edition of the Dogelog Player:
- Tabling Directive:
It turns out that our term expansion is fit enough to
provide a tabling directive table/1. The directive will
prepare a query and a answer cache for the given predicate,
as well as a wrapper. The current version does not yet
realize tabling of non-wellfounded recursion.
- Hash Indexes:
The tabling does not use a table space separate from the
dynamic database, instead the caches are realized through
dynamic predicates. To profit even more from our ground
term sharing, we now offer pre-computed hash indexes. For
large ground terms, the tabling mechanism can then exhibit
emergent local interning.
- Rubber Band:
The format/[2,3] predicates got a facelift and we now support
the rubber band ~`Ct and the column margin ~N|. The challenge
was to keep the streaming behaviour, which we could keep for
the first rubber band separated segment. A further challenge
was scattering character richtext, which the format specifiers
~defgq can produce.
Have Fun!