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.javascript Subject: Re: ANN: Dogelog Player 1.3.4 (Interactive Debugger) Date: Tue, 22 Jul 2025 18:29:56 +0200 Message-ID: <105oea3$2ma3h$3@solani.org> References: <104es7f$1qm8t$3@solani.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 22 Jul 2025 16:29:55 -0000 (UTC) Injection-Info: solani.org; logging-data="2828401"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 SeaMonkey/2.53.21 Cancel-Lock: sha1:vCvi3xnrwsXqLORlCaYwBJGBgic= X-User-ID: eJwNyMEBwCAIA8CVUEKAcarA/iPUe54pF6+DRtjYzBdWJlDvCOTW2TcqotrKk8LXPP5yiAVZmTmQPj6t7fIDPToU2g== In-Reply-To: <104es7f$1qm8t$3@solani.org> Xref: csiph.com comp.lang.javascript:124403 For best possible experience, we investigated rational trees printing. The result is a top-level which does not fall back to print for cyclic terms anymore, but display a set of cycle defining equations. The required native support is minimal, a single new built-in same_term/2. Alain Colmerauers “Prolog and Infinite Trees“ (1982), shows two solutions for cycle breaking. Starting with a prototype that generates some non-monster equations, we end up with producing monster equations for the benefit of the interactive debugger and the answer display. Subtrees First in Dogelog Player https://medium.com/@janburse_2989/2c72018758d6 Mild Shock schrieb: > Dear All, > > We are happy to announce a new edition of > the Dogelog player: > > - Enhanced library(fancy): >   As a convenience we provide the additional > predicate print/[1,2] which checks the flags of > the output stream. If the output stream has the > mask MASK_DST_CANS set, it will automatically > colorize the output. This is for example used in > the new interactive debugger to print goals. > > - Enhanced library(tools): > Besides clause listing, the file also provides an > interactive debugger. The interactive debugger can > be invoked for a goal by the meta predicate trace/1. > The interactive debugger is implemented by means of > meta programming and therefore might executed slower > than call/1. On the other hand it allows inspecting > the Byrd Box ports, already supporting useful > command such as skip. > > - Enhanced library(session): > The interactive debugger is still minimal, for example > it does not allow spy points yet. So the leap command > will leap into the next answer substitution. The end-user > might not want to continue with the next answer substitution > in leap mode. Therefore the top-level is now trace/1 aware, > in that it provides debugger commands as well, such > as switching to creep mode. > > Have Fun! > > Jan Burse, http://www.herbrand.ai/ , 07.07.2025