Path: csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mild Shock Newsgroups: comp.lang.python Subject: ANN: Dogelog Player 2.3.1 (Task Channels) Date: Thu, 17 Sep 2026 23:53:38 +0200 Message-ID: <118hnh2$et22$3@solani.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 17 Sep 2026 21:53:38 -0000 (UTC) Injection-Info: solani.org; logging-data="488514"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0 SeaMonkey/2.53.24 Cancel-Lock: sha1:Rlh4PB6h8MI1hetfNP4fRljQ9Fs= X-User-ID: eJwFwYEBwCAIA7CXCoXKzlHQ/09YkpSpVygV+fIdxNZDE5ihH/fF7/b4FGI4bnd8G09np0B1HQ6kMqBr/VC5FQY= X-Mozilla-News-Host: news://news.solani.org:119 Xref: csiph.com comp.lang.python:198015 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/