ANN: Dogelog Player 2.3.1 (Task Channels)
Mild Shock <[email protected]>
| Newsgroups | comp.lang.python |
|---|---|
| Message-ID | <[email protected]> |
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/