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


Groups > comp.lang.python > #197772 > unrolled thread

ANN: Dogelog Player 2.2.2 (Unified Tabling)

Started byMild Shock <janburse@fastmail.fm>
First post2026-05-01 23:30 +0200
Last post2026-07-04 01:02 +0200
Articles 4 — 1 participant

Back to article view | Back to comp.lang.python


Contents

  ANN: Dogelog Player 2.2.2 (Unified Tabling) Mild Shock <janburse@fastmail.fm> - 2026-05-01 23:30 +0200
    Dogelog Player on a A18 Everest (Re: ANN: Dogelog Player 2.2.2 (Unified Tabling)) Mild Shock <janburse@fastmail.fm> - 2026-05-16 11:18 +0200
      Emulating π-WAM in Dogelog Player (Re: Dogelog Player on a A18 Everest) Mild Shock <janburse@fastmail.fm> - 2026-06-30 02:08 +0200
        Executing π-WAM with Dogelog Player (Re: Emulating π-WAM in Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2026-07-04 01:02 +0200

#197772 — ANN: Dogelog Player 2.2.2 (Unified Tabling)

FromMild Shock <janburse@fastmail.fm>
Date2026-05-01 23:30 +0200
SubjectANN: Dogelog Player 2.2.2 (Unified Tabling)
Message-ID<10t361a$18chr$2@solani.org>
Dear All,

We are happy to announce a new edition
of the Dogelog Player:

- Tabling Directive:
It turns out that our term expansion is fit
enough to provide a tabling directive table/1.
The directive will prepare a query and a answer
cache for the given predicate, as well as a
wrapper. The current version does not yet
realize tabling of non-wellfounded recursion.

- Hash Indexes:
The tabling does not use a table space separate
from the dynamic database, instead the caches
are realized through dynamic predicates. To
profit even more from our ground term sharing,
we now offer pre-computed hash indexes. For
large ground terms, the tabling mechanism
can then exhibit emergent local interning.

- Rubber Band:
The format/[2,3] predicates got a facelift and
we now support the rubber band ~`Ct and the
column margin ~N|. The challenge was to keep
the streaming behaviour, which we could keep
for the first rubber band separated segment.
A further challenge was scattering character
richtext, which the format specifiers
~defgq can produce.

Have Fun!

Jan Burse, https://www.herbrand.ai/ , 01.05.2026

[toc] | [next] | [standalone]


#197792 — Dogelog Player on a A18 Everest (Re: ANN: Dogelog Player 2.2.2 (Unified Tabling))

FromMild Shock <janburse@fastmail.fm>
Date2026-05-16 11:18 +0200
SubjectDogelog Player on a A18 Everest (Re: ANN: Dogelog Player 2.2.2 (Unified Tabling))
Message-ID<10u9cpi$9uq$2@solani.org>
In reply to#197772
Hi,

Dogelog Player is a Prolog system for JavaScript,
Python and Java targets. It has still some macOS
genes, since couple of years ago our development
environment featured a Mac Book. We recently did
a cross testing exercise for Dogelog Player on
a brand new Mac Neo.

In our Zoo of AI laptops we had to rank the Mac
Neo third. Still the Mac Neo, a beautifully silent
and affordable product, excells for example in
JavaScript and clearly leaves behind the other
Think ARM machine, since we couldn’t find a PyPy
Windows ARM build.

See also:

Dogelog Player on a A18 Everest
https://medium.com/2989/80bae0494236

Mild Shock schrieb:
> Dear All,
> 
> We are happy to announce a new edition
> of the Dogelog Player:
> 
> - Tabling Directive:
> It turns out that our term expansion is fit
> enough to provide a tabling directive table/1.
> The directive will prepare a query and a answer
> cache for the given predicate, as well as a
> wrapper. The current version does not yet
> realize tabling of non-wellfounded recursion.
> 
> - Hash Indexes:
> The tabling does not use a table space separate
> from the dynamic database, instead the caches
> are realized through dynamic predicates. To
> profit even more from our ground term sharing,
> we now offer pre-computed hash indexes. For
> large ground terms, the tabling mechanism
> can then exhibit emergent local interning.
> 
> - Rubber Band:
> The format/[2,3] predicates got a facelift and
> we now support the rubber band ~`Ct and the
> column margin ~N|. The challenge was to keep
> the streaming behaviour, which we could keep
> for the first rubber band separated segment.
> A further challenge was scattering character
> richtext, which the format specifiers
> ~defgq can produce.
> 
> Have Fun!
> 
> Jan Burse, https://www.herbrand.ai/ , 01.05.2026

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


#197819 — Emulating π-WAM in Dogelog Player (Re: Dogelog Player on a A18 Everest)

FromMild Shock <janburse@fastmail.fm>
Date2026-06-30 02:08 +0200
SubjectEmulating π-WAM in Dogelog Player (Re: Dogelog Player on a A18 Everest)
Message-ID<111v1e6$10mq4$2@solani.org>
In reply to#197792
Hi,

We are currently setting sail to give Dogelog Player
a more janus faced backend. Until now we had only
one code compilation idea that realizes our Prolog
VM. With π-WAM we add a second Prolog VM to the same
Prolog system, with the aim to use it for
specialized tasks.

Optimized for speed the π-WAM is very primitive.
The compiler capitalizes that code blocks are
relocatable. The emulator dispatches π-WAM in/1
and out/1 commands to the usual Prolog read and
write predicates. We could demonstrate a is/2
example and a between/3 example.

See also:

Emulating π-WAM in Dogelog Player
https://medium.com/2989/de9cd29c7d37

Mild Shock schrieb:
> Hi,
> 
> Dogelog Player is a Prolog system for JavaScript,
> Python and Java targets. It has still some macOS
> genes, since couple of years ago our development
> environment featured a Mac Book. We recently did
> a cross testing exercise for Dogelog Player on
> a brand new Mac Neo.
> 
> In our Zoo of AI laptops we had to rank the Mac
> Neo third. Still the Mac Neo, a beautifully silent
> and affordable product, excells for example in
> JavaScript and clearly leaves behind the other
> Think ARM machine, since we couldn’t find a PyPy
> Windows ARM build.
> 
> See also:
> 
> Dogelog Player on a A18 Everest
> https://medium.com/2989/80bae0494236
> 
> Mild Shock schrieb:
>> Dear All,
>>
>> We are happy to announce a new edition
>> of the Dogelog Player:
>>
>> - Tabling Directive:
>> It turns out that our term expansion is fit
>> enough to provide a tabling directive table/1.
>> The directive will prepare a query and a answer
>> cache for the given predicate, as well as a
>> wrapper. The current version does not yet
>> realize tabling of non-wellfounded recursion.
>>
>> - Hash Indexes:
>> The tabling does not use a table space separate
>> from the dynamic database, instead the caches
>> are realized through dynamic predicates. To
>> profit even more from our ground term sharing,
>> we now offer pre-computed hash indexes. For
>> large ground terms, the tabling mechanism
>> can then exhibit emergent local interning.
>>
>> - Rubber Band:
>> The format/[2,3] predicates got a facelift and
>> we now support the rubber band ~`Ct and the
>> column margin ~N|. The challenge was to keep
>> the streaming behaviour, which we could keep
>> for the first rubber band separated segment.
>> A further challenge was scattering character
>> richtext, which the format specifiers
>> ~defgq can produce.
>>
>> Have Fun!
>>
>> Jan Burse, https://www.herbrand.ai/ , 01.05.2026
> 

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


#197820 — Executing π-WAM with Dogelog Player (Re: Emulating π-WAM in Dogelog Player)

FromMild Shock <janburse@fastmail.fm>
Date2026-07-04 01:02 +0200
SubjectExecuting π-WAM with Dogelog Player (Re: Emulating π-WAM in Dogelog Player)
Message-ID<1129f2a$17m0u$2@solani.org>
In reply to#197819
Hi,

A π-WAM combines ideas from π-calculus and Warren
Abstract Machine. We already made a compiler and
emulator, 100% written in Prolog, and we could
demonstrate is/2 and between/3. In this post we
introduce executors, written in the Dogelog Player
target host languages.

On the Prolog side we added packing the machine
code into 32-bit instructions. On the host targets
side, for Java, JavaScript and Python, we added a
π-WAM virtual machine. Interestingly the Java based
machine can execute our testcase in 80 ms, while
GNU Prolog takes 200 ms.

Bye

See also:

Executing π-WAM with Dogelog Player
https://medium.com/2989/cc7bd3e0b652

Mild Shock schrieb:
> Hi,
> 
> We are currently setting sail to give Dogelog Player
> a more janus faced backend. Until now we had only
> one code compilation idea that realizes our Prolog
> VM. With π-WAM we add a second Prolog VM to the same
> Prolog system, with the aim to use it for
> specialized tasks.
> 
> Optimized for speed the π-WAM is very primitive.
> The compiler capitalizes that code blocks are
> relocatable. The emulator dispatches π-WAM in/1
> and out/1 commands to the usual Prolog read and
> write predicates. We could demonstrate a is/2
> example and a between/3 example.
> 
> See also:
> 
> Emulating π-WAM in Dogelog Player
> https://medium.com/2989/de9cd29c7d37
> 
> Mild Shock schrieb:
>> Hi,
>>
>> Dogelog Player is a Prolog system for JavaScript,
>> Python and Java targets. It has still some macOS
>> genes, since couple of years ago our development
>> environment featured a Mac Book. We recently did
>> a cross testing exercise for Dogelog Player on
>> a brand new Mac Neo.
>>
>> In our Zoo of AI laptops we had to rank the Mac
>> Neo third. Still the Mac Neo, a beautifully silent
>> and affordable product, excells for example in
>> JavaScript and clearly leaves behind the other
>> Think ARM machine, since we couldn’t find a PyPy
>> Windows ARM build.
>>
>> See also:
>>
>> Dogelog Player on a A18 Everest
>> https://medium.com/2989/80bae0494236
>>
>> Mild Shock schrieb:
>>> Dear All,
>>>
>>> We are happy to announce a new edition
>>> of the Dogelog Player:
>>>
>>> - Tabling Directive:
>>> It turns out that our term expansion is fit
>>> enough to provide a tabling directive table/1.
>>> The directive will prepare a query and a answer
>>> cache for the given predicate, as well as a
>>> wrapper. The current version does not yet
>>> realize tabling of non-wellfounded recursion.
>>>
>>> - Hash Indexes:
>>> The tabling does not use a table space separate
>>> from the dynamic database, instead the caches
>>> are realized through dynamic predicates. To
>>> profit even more from our ground term sharing,
>>> we now offer pre-computed hash indexes. For
>>> large ground terms, the tabling mechanism
>>> can then exhibit emergent local interning.
>>>
>>> - Rubber Band:
>>> The format/[2,3] predicates got a facelift and
>>> we now support the rubber band ~`Ct and the
>>> column margin ~N|. The challenge was to keep
>>> the streaming behaviour, which we could keep
>>> for the first rubber band separated segment.
>>> A further challenge was scattering character
>>> richtext, which the format specifiers
>>> ~defgq can produce.
>>>
>>> Have Fun!
>>>
>>> Jan Burse, https://www.herbrand.ai/ , 01.05.2026
>>
> 

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web