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

Mild Shock <[email protected]> Sat, 4 Jul 2026 01:02:35 +0200
Newsgroups comp.lang.python
Message-ID <[email protected]>
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
>>
>