Tabling Directive for Dogelog Player (Re: ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing))
Mild Shock <[email protected]> Thu, 16 Apr 2026 12:37:59 +0200
| Newsgroups | comp.lang.python |
|---|---|
| Message-ID | <[email protected]> |
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