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: Re: ANN: Dogelog Player 1.0.5 (Chat-80 in Novacore) Date: Mon, 22 May 2023 12:02:53 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 22 May 2023 10:02:52 -0000 (UTC) Injection-Info: solani.org; logging-data="370729"; 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.16 Cancel-Lock: sha1:hy3OcG+uQ/yknvPdbrHqT/USNNY= In-Reply-To: X-User-ID: eJwNyskRACEIBMCUOGYAw9FF8g9hfXZV00PjSwQDHM4G9uBMA7STlV5b5RN7Y1X3uqGUhEadR7VbYvS+7uRF/j4dFHk= Xref: csiph.com comp.lang.javascript:41328 Apache Ant Tasks is an XML based definition format that is typically executed in a Java runtime. It can provide a platform independent model (PIM) for a variety of tasks. We began using Ant Tasks for some testing automatization in Dogelog Prolog. We faced some challenges in defining the test cases Prolog code as a single point of truth (SPOT). By code refactoring and using common features we arrived at covering Dogelog Player, formerly Jekejeke Prolog, SWI-Prolog and Trealla Prolog under one umbrella. By means of argv Prolog flag and the initialzation/1 directive we wrote an universal testing scripts. By further using Prolog system specific facades and operating system specific Ant imports, we could semi-automate the generation of a HTML report that combines different Prolog system results across Windows 10 and WSL2. See also: Ant Tasks for Dogelog Prolog https://twitter.com/dogelogch/status/1660579469088702464 Ant Tasks for Dogelog Prolog https://www.facebook.com/groups/dogelog Mostowski Collapse schrieb: > Dear All, > > We are happy to announce a new edition of > the Dogelog player: > > - library(compat): > To match the Dogelog player's 100% Prolog label, > we added the sort/2 and keysort/2 predicates, > written in Prolog itself. In the Novacore sense, > the implementation does not require additional > native predicates and behaves the same under > Python and JavaScript. > > - library(aggregate): > We also added the predicates bagof/3 and setof/3, > again written in Prolog itself. The implementation > is once more, in the sense of Novacore, without > additional native predicates, only term_variables/2 > was extended in term_variables/3. > > - Chat-80 Example: > As a proof of concept for an application of these > predicates, we ported Chat-80, a natural language > question-answer system by D.H.D. Warren and F.C.N. > Pereira, to Dogelog Player. It is transpiled > about 400 kBytes that can be loaded in the browser > in less than 100 ms. > > Have Fun! > Jan Burse, 06.04.2023, http://www.xlog.ch/