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


Groups > comp.lang.prolog > #15905

Dogelog in the Park: A Barriered Statechart Simulator (Was: ANN: Dogelog Player 2.2.6 (π-WAM if-then-else))

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.prolog
Subject Dogelog in the Park: A Barriered Statechart Simulator (Was: ANN: Dogelog Player 2.2.6 (π-WAM if-then-else))
Date 2026-09-04 16:39 +0200
Message-ID <117el6a$1lppc$1@solani.org> (permalink)
References <11719f9$1cctk$1@solani.org>

Show all headers | View raw


Hi,

In 1984 David Harel wrote a charming paper
about statecharts to visualize complex system
state and behaviour. After a $80 million
acquisition and the expiry of patents. The
2015 W3C XML standard for statecharts has
an appendix D showing a reference implementation.

Unlike the W3C appendix D take, the simulator
is a homomorphism of next/3, with an intercept
for cancellations. By using maplist/3 and
not concurrent_maplist/3 we added a barrier.
We can now let the little dog play fetch in
some nature park, just like in the
Stately AI demo page.

Bye

See also:

Dogelog in the Park: A Barriered Statechart Simulator
https://medium.com/2989/a50682d1fde8

Mild Shock schrieb:
> Dear All,
> 
> We are happy to announce a new edition
> of the Dogelog Player:
> 
> - User Time:
> Our π-WAM channels are still pounding 1μ ping
> pong roundtrip between JavaScript workers,
> thanks to SharedArrayBuffer and Atomic.wait().
> But while workers are busy with each other
> Dogelog Player main worker will wait. Therefore
> we introduced a new statistics "user" and time/1
> shows user percentage for non-wait main.
> 
> - Hack Instructions:
> What a π-WAM worker will drive, is the Hack VM
> an alternative to the Dogelog VM. Our first
> version of Hack VM instruction set had 10-bit
> jump operand and 10-bit arithmetic operand.
> This made it difficult to run larger CLP(Z)
> examples. So we redesigned the instuction
> set to have one 24-bit operand.
> 
> - Hack Compilation:
> There is a new library(hack), which houses
> the emulator and a new disassembler by the
> predicate instructions/1, the later taking a
> goal argument. The Hack VM compiler can now
> emit jump and link instructions for disjunction.
> It can also digest '$MARK'/1 and '$CUT'/1 from
> the Dogelog Player surface translation, and
> therefor it is now able to compile if-then-else.
> 
> Have Fun!
> 
> 
> Jan Burse, August 30, 2026, https://www.herbrand.ai/

Back to comp.lang.prolog | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

ANN: Dogelog Player 2.2.6 (π-WAM if-then-else) Mild Shock <janburse@fastmail.fm> - 2026-08-30 14:59 +0200
  Dogelog in the Park: A Barriered Statechart Simulator (Was: ANN: Dogelog Player 2.2.6 (π-WAM if-then-else)) Mild Shock <janburse@fastmail.fm> - 2026-09-04 16:39 +0200
    5 Minutes Implementation of Prolog catch/3 and throw/1 (Was: Dogelog in the Park: A Barriered Statechart Simulator) Mild Shock <janburse@fastmail.fm> - 2026-09-14 19:24 +0200

csiph-web