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


Groups > comp.lang.java.programmer > #53776

Dogelog: Getting the birds from the Byrd Box model (Was: Dogelog in the Black Forest: The Ouroboros Ring Road Puzzle)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.java.programmer
Subject Dogelog: Getting the birds from the Byrd Box model (Was: Dogelog in the Black Forest: The Ouroboros Ring Road Puzzle)
Date 2026-09-27 15:40 +0200
Message-ID <119b6bj$g0hc$3@solani.org> (permalink)
References <118hnhu$et22$4@solani.org> <118ouvb$qeh$1@solani.org>

Show all headers | View raw


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/
> 

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


Thread

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

csiph-web