Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #53775 > unrolled thread
| Started by | Mild Shock <janburse@fastmail.fm> |
|---|---|
| First post | 2026-09-20 17:43 +0200 |
| Last post | 2026-09-27 15:40 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to comp.lang.java.programmer
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Dogelog in the Black Forest: The Ouroboros Ring Road Puzzle (Was: ANN: Dogelog Player 2.3.1 (Task Channels)) Mild Shock <janburse@fastmail.fm> - 2026-09-20 17:43 +0200
Dogelog: Getting the birds from the Byrd Box model (Was: Dogelog in the Black Forest: The Ouroboros Ring Road Puzzle) Mild Shock <janburse@fastmail.fm> - 2026-09-27 15:40 +0200
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-09-20 17:43 +0200 |
| Subject | Dogelog in the Black Forest: The Ouroboros Ring Road Puzzle (Was: ANN: Dogelog Player 2.3.1 (Task Channels)) |
| Message-ID | <118ouvb$qeh$1@solani.org> |
Hi, In this post, we look back at working with cyclic terms in a Prolog system, a feature that was introduced in Dogelog Player around 12 months ago. We welcome current developments like SWI-Prologs recent term_minimum/2. They serve us as templates to name our own library predicates. While coinductive predicates are still in its infancy for Prolog systems. We could nevertheless solve the Ouroboros Ring Road puzzle via a cyclic term modelling. The article also touches differences among Prolog systems in cyclic term display and the bagof/3 use case of ordering cyclic terms. Bye See also: Dogelog in the Black Forest: The Ouroboros Ring Road Puzzle https://medium.com/2989/147fc5648b72 Mild Shock schrieb: > Dear All, > > We are happy to announce a new > edition of the Dogelog Player: > > - Enhanced catch/3: > We noticed that catch/3 causes a friction in > '$YIELD'/1. So we redesigned its implementation > by refraining from using the host programming > language stack. The engine now offers an exception > handler stack, and the Prolog interpreter trampolin > unwinds these exception handlers upon a > Prolog or host error. > > - New call_cleanup/3: > The new predicate call_cleanup/3 supplants the > old predicate once_cleanup/3. Like catch/3 it > now features an implementation that refrains > from using the host programming language stack. > Its implementation makes use of a rogue '$CUT'/1 > which is realized by choicepoint scanning > and continuation manipulation. > > - Task Channels: > To lower the footprint of the core there are > new libraries library(timer) and library(tasks). > The later library offers a new predicate task_join/1 > which is abortable. Further the library offers > predicates chan/1, recv/2 and send/2 to deal with > channels that live in the cooperative > multitasking realm. > > Have Fun! > > Jan Burse, September 17, 2026, https://www.herbrand.ai/
[toc] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2026-09-27 15:40 +0200 |
| Subject | Dogelog: Getting the birds from the Byrd Box model (Was: Dogelog in the Black Forest: The Ouroboros Ring Road Puzzle) |
| Message-ID | <119b6bj$g0hc$3@solani.org> |
| In reply to | #53775 |
Hi, It turns out some things are more complicated than the mind body problem. Without seeing an anlogue behind our recent rogue ‘$CUT’/1 and the requirements of an undo handler. It would have taken us another couple of years before implementing the said gadget. The new addition is a refined class hierarchy, where a class Store.Bind forms the base class of both Store.Variable and Store.Undo. While we can demonstrate the classical set_arg/3, a backtrackable change_arg/3, we have doubts whether we are already on the right path forward. Bye See also: Dogelog: Getting the birds from the Byrd Box model https://medium.com/2989/e75796eaa2df Mild Shock schrieb: > Hi, > > In this post, we look back at working with cyclic > terms in a Prolog system, a feature that was > introduced in Dogelog Player around 12 months ago. > We welcome current developments like SWI-Prologs > recent term_minimum/2. They serve us as templates > to name our own library predicates. > > While coinductive predicates are still in its > infancy for Prolog systems. We could nevertheless > solve the Ouroboros Ring Road puzzle via a cyclic > term modelling. The article also touches differences > among Prolog systems in cyclic term display and > the bagof/3 use case of ordering cyclic terms. > > Bye > > See also: > > Dogelog in the Black Forest: The Ouroboros Ring Road Puzzle > https://medium.com/2989/147fc5648b72 > > Mild Shock schrieb: >> Dear All, >> >> We are happy to announce a new >> edition of the Dogelog Player: >> >> - Enhanced catch/3: >> We noticed that catch/3 causes a friction in >> '$YIELD'/1. So we redesigned its implementation >> by refraining from using the host programming >> language stack. The engine now offers an exception >> handler stack, and the Prolog interpreter trampolin >> unwinds these exception handlers upon a >> Prolog or host error. >> >> - New call_cleanup/3: >> The new predicate call_cleanup/3 supplants the >> old predicate once_cleanup/3. Like catch/3 it >> now features an implementation that refrains >> from using the host programming language stack. >> Its implementation makes use of a rogue '$CUT'/1 >> which is realized by choicepoint scanning >> and continuation manipulation. >> >> - Task Channels: >> To lower the footprint of the core there are >> new libraries library(timer) and library(tasks). >> The later library offers a new predicate task_join/1 >> which is abortable. Further the library offers >> predicates chan/1, recv/2 and send/2 to deal with >> channels that live in the cooperative >> multitasking realm. >> >> Have Fun! >> >> Jan Burse, September 17, 2026, https://www.herbrand.ai/ >
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.java.programmer
csiph-web