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


Groups > comp.lang.java.programmer > #53758 > unrolled thread

ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing)

Started byMild Shock <janburse@fastmail.fm>
First post2026-04-09 20:00 +0200
Last post2026-05-01 12:53 +0200
Articles 3 — 1 participant

Back to article view | Back to comp.lang.java.programmer


Contents

  ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing) Mild Shock <janburse@fastmail.fm> - 2026-04-09 20:00 +0200
    Tabling Directive for Dogelog Player (Re: ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing)) Mild Shock <janburse@fastmail.fm> - 2026-04-16 12:38 +0200
      Scattering Richtext in Dogelog Player (Re: Egg SAT in Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2026-05-01 12:53 +0200

#53758 — ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing)

FromMild Shock <janburse@fastmail.fm>
Date2026-04-09 20:00 +0200
SubjectANN: Dogelog Player 2.2.1 (Just-in-Time Indexing)
Message-ID<10r8pfn$2dpk$3@solani.org>
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

[toc] | [next] | [standalone]


#53759 — Tabling Directive for Dogelog Player (Re: ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing))

FromMild Shock <janburse@fastmail.fm>
Date2026-04-16 12:38 +0200
SubjectTabling Directive for Dogelog Player (Re: ANN: Dogelog Player 2.2.1 (Just-in-Time Indexing))
Message-ID<10rqe7p$e8o4$3@solani.org>
In reply to#53758
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

[toc] | [prev] | [next] | [standalone]


#53760 — Scattering Richtext in Dogelog Player (Re: Egg SAT in Dogelog Player)

FromMild Shock <janburse@fastmail.fm>
Date2026-05-01 12:53 +0200
SubjectScattering Richtext in Dogelog Player (Re: Egg SAT in Dogelog Player)
Message-ID<10t20md$18r1f$4@solani.org>
In reply to#53759
Hi,

It seems the “ghost” of Quintus is an
unifying theme among Prolog systems, at
least when it comes to a poor mans formatting
utility. We started to embrace the ~t rubber
band, unknowingly opening the gates of hell of
plaintext layout engines. But what to do
with our richtext?

We didn’t find yet a loophole in the format/[2,3]
predicate to introduce paragraph richtext,
it doesn’t assume multi-line segments. To
brighten up the day of a Prolog programmer,
we can scatter nevertheless character richttext.
Thanks to a new tag_length/2 predicate
in library(markup).

Bye

See also:

Scattering Richtext in Dogelog Player
https://medium.com/2989/595ad1ce4fb3

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.java.programmer


csiph-web