Subject: Tabling Directive for Dogelog Player (Re: ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing))
Hi,
Our new library silkworm for predicate tabling tries
to do the same, as the library railgun for finite
domain constraints. Namely provide a portable library
that is only based on the ISO core standard. Due to
a series of recent improvements of Dogelog Player
the tabling directive is now competitive.
While we reach similar performance like SWI-Prolog
for Datalog examples, our system parallels the
XSB-Prolog performance for non-Datalog examples.
What is missing are non-wellfounded forms of
recursion and polymorphic adornments. We are
currently working on addressing both issues.
Bye
See also:
Tabling Directive for Dogelog Player
https://medium.com/2989/aa2f40a14b58
Mild Shock schrieb:
Dear All,
We are happy to announce a new edition of
the Dogelog Player:
- Enhanced core (IEEE Comparisons):
The special value 0rNaN received comparison
drawn from IEEE. The built-in (=\=)/2 now
implements not quiet, while the built-ins
(=:=)/2, (<)/2, etc. now implement quiet.
The built-ins (@<)/2, etc. now implement
quiet ordered, while the built-ins min/3
and max/3 now implement number.
- Goal Inlining/Outlining:
We noticed performance problems of negation
as failure (\+)/2 when the argument is a
complex goal. Many Prolog systems don't
suffer from this problem. We implemented
a form of goal expansion, but with reversibility,
so that rewritten (\+)/2 calls are seen
again in listing/[0,1] and trace/0.
- Just-in-Time Indexing:
The scope is currently MAX_INDEX = 2
indiscriminantly for static and dynamic
predicates. The system can dynamically
allocate 1st or 2nd argument indexes when
needed, and even create combined 1st+2nd
argument indexes. The enhancement comes
with a new jiti_list/[0,1] utilitiy.
Have Fun!
Jan Burse, https://www.herbrand.ai/ , 09.04.2026
--- PyGate Linux v1.5.14
* Origin: Dragon's Lair, PyGate NNTP<>Fido Gate (3:633/10)