Path: csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mild Shock Newsgroups: comp.lang.java.programmer Subject: Tabling Directive for Dogelog Player (Re: ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing)) Date: Thu, 16 Apr 2026 12:38:49 +0200 Message-ID: <10rqe7p$e8o4$3@solani.org> References: <10r8pfn$2dpk$3@solani.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 16 Apr 2026 10:38:49 -0000 (UTC) Injection-Info: solani.org; logging-data="467716"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 SeaMonkey/2.53.23 Cancel-Lock: sha1:RkGSGdoqZLPZCzk6dQ/ExPEnhss= X-User-ID: eJwFwYEBwCAIA7CXRKDCObLa/09Ykg7DdwKJSKWmCS7XS+12jdhK3IipZNtBKcb6q32tn9Vg+5ugbZIr+wdqcRXb In-Reply-To: <10r8pfn$2dpk$3@solani.org> Xref: csiph.com comp.lang.java.programmer:53759 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