Path: csiph.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mostowski Collapse Newsgroups: comp.lang.javascript Subject: ANN: Dogelog Player 1.0.4 (Time-Out Alarm) Date: Mon, 27 Feb 2023 20:46:36 +0100 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 27 Feb 2023 19:46:36 -0000 (UTC) Injection-Info: solani.org; logging-data="1486165"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.15 Cancel-Lock: sha1:RkFMp/fFyxZrBPzO9wrFYUCK+78= X-Mozilla-News-Host: news://news.solani.org:119 X-User-ID: eJwVyskRwDAIBLCWYFnAlOOL/ktwMvrKLTR2Mjzo/UkbEOQ5Y6MoFZ4Fsjn6XlmcZaIGx1ndy2ek3n+roEL8ASKnFE4= Xref: csiph.com comp.lang.javascript:41213 Dear All, We are happy to announce a new edition of the Dogelog player: - library(markup): To facilitate the generation of HTML texts inside the browser, format/2 now accepts ~a for HTML attributes and ~c for URL components. Further there are predicates tag/[1,2] that switch the stream to raw mode instead XML encoding, so that tags can be written. - New setup_once_cleanup/3: Since a stop button and Ctrl-C key started to work, we needed to think of a robust setup and cleanup method. We noticed a Logtalk idiom in the wild which we extended by signal shielding and exception chaining. Also there is a novel catch/3 which matches the head of a chain. - New time_out/2: There is also new predicate time_out/2 to abort a goal after some delay. Implemented via the event loop of JavaScript respectively Python. The predicate is not yet perfect, for example it cannot prematurely abort a sleep/1, but it can already abort where the Prolog interpreter yields or auto-yields. Have Fun! Jan Burse, 27.02.2023 http://www.xlog.ch/