Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #198012
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | A rogue '$CUT'/1 for Dogelog Player (Was: 5 Minutes Implementation of Prolog catch/3 and throw/1) |
| Date | 2026-09-17 15:08 +0200 |
| Message-ID | <118goo5$bt0o$1@solani.org> (permalink) |
| References | <11719ko$1cctk$2@solani.org> <117elhd$1lppc$5@solani.org> <1189aom$6r7i$3@solani.org> |
Hi, Dogelog Player is a Prolog system for the JavaScript, Python and Java target, mostly written in 100% Prolog itself. So far we only provided once_cleanup/2 to deal with resource managment. It turns out we could secure a call_cleanup/2 through a simple mechanism. Drawing on a phrasing in a BIM Prolog document from 1984, we could implement the post-N215 semantics of call_cleanup/2. Since we had eliminated the native stack use from catch/3, we could again apply patterns of continuation manipulation for events in the continuation. Bye See also: A rogue ‘$CUT’/1 for Dogelog Player https://medium.com/2989/f41c71265331 Mild Shock schrieb: > 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
Back to comp.lang.python | Previous | Next — Previous in thread | Find similar | Unroll thread
ANN: Dogelog Player 2.2.6 (π-WAM if-then-else) Mild Shock <janburse@fastmail.fm> - 2026-08-30 15:02 +0200
5 Minutes Implementation of Prolog catch/3 and throw/1 (Re: Dogelog in the Park: A Barriered Statechart Simulator) Mild Shock <janburse@fastmail.fm> - 2026-09-14 19:26 +0200
A rogue '$CUT'/1 for Dogelog Player (Was: 5 Minutes Implementation of Prolog catch/3 and throw/1) Mild Shock <janburse@fastmail.fm> - 2026-09-17 15:08 +0200
csiph-web