Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #124431
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Egg SAT in Dogelog Player (Re: Tabling Directive for Dogelog Player) |
| Date | 2026-04-18 16:16 +0200 |
| Message-ID | <10s03nd$gu09$2@solani.org> (permalink) |
| References | <10r8pf8$2dpk$2@solani.org> <10rqe9r$e8o4$4@solani.org> |
Hi, Dogelog Player is a Prolog system for the JavaScript, Python and Java target. This is a further iteration of our new tabling directive. In this take we added deep indexing to the dynamic database, facing the question tries or not tries? With amazing results for a rewriting problem. The example is limited to xor, which has associativity (A xor B) xor C = A xor (B xor C) and commutativity A xor B = B xor A. We can demonstrate what a normal form delivers. The prehashes, and not some tries, lower the time complexity, but the XSB intern option is still 5x times ahead. Bye See also: Egg SAT in Dogelog Player https://medium.com/2989/7d309abcd835 Mild Shock schrieb: > 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 >
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing) Mild Shock <janburse@fastmail.fm> - 2026-04-09 20:00 +0200
Egg SAT in Dogelog Player (Re: Tabling Directive for Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2026-04-18 16:16 +0200
Scattering Richtext in Dogelog Player (Re: Egg SAT in Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2026-05-01 12:51 +0200
csiph-web