Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #15896 > unrolled thread
| Started by | Mild Shock <janburse@fastmail.fm> |
|---|---|
| First post | 2026-08-30 14:59 +0200 |
| Last post | 2026-09-14 19:24 +0200 |
| Articles | 3 — 1 participant |
Back to article view | Back to comp.lang.prolog
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
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-08-30 14:59 +0200 |
| Subject | ANN: Dogelog Player 2.2.6 (π-WAM if-then-else) |
| Message-ID | <11719f9$1cctk$1@solani.org> |
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/
[toc] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-09-04 16:39 +0200 |
| Subject | Dogelog in the Park: A Barriered Statechart Simulator (Was: ANN: Dogelog Player 2.2.6 (π-WAM if-then-else)) |
| Message-ID | <117el6a$1lppc$1@solani.org> |
| In reply to | #15896 |
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/
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-09-14 19:24 +0200 |
| Subject | 5 Minutes Implementation of Prolog catch/3 and throw/1 (Was: Dogelog in the Park: A Barriered Statechart Simulator) |
| Message-ID | <1189ajq$6r7i$1@solani.org> |
| In reply to | #15905 |
Hi, Dogelog Player is a Prolog system for the JavaScript, Python and Java target, mostly written in 100% Prolog itself. Since it runs in cooperative multitasking enviroments, it features a ‘$YIELD’/1. We noticed that catch/3 causes some friction and we found a simple remedy. The friction was caused by a switch from Prolog, to Host Language and to Prolog so that ‘$YIELD’/1 had to create choice points. We eleminated both. The new catch/3 realization can easily scale to millions of nestings, since it has become independent of the native stack. Bye See also: 5 Minutes Implementation of Prolog catch/3 and throw/1 https://medium.com/2989/dc662b85fcb2 Mild Shock schrieb: > 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/ >
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.prolog
csiph-web