Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #124431

Egg SAT in Dogelog Player (Re: Tabling Directive for Dogelog Player)

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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