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.1.6 (HTTP Client) Date: Sun, 10 Mar 2024 19:09:00 +0100 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sun, 10 Mar 2024 18:08:58 -0000 (UTC) Injection-Info: solani.org; logging-data="1256871"; 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.18.1 Cancel-Lock: sha1:whWhI0/0f9zWejHl/M1ZxqkqhZw= X-User-ID: eJwFwYEBwCAIA7CX7IRWzgGF/09Y4pvgldFpPj5tnaLsltA7D2APDwMVheS5AXH3exXrc/NTLMQ0GWKuH06hFRA= In-Reply-To: Xref: csiph.com comp.lang.javascript:124281 Dogelog Player is a Prolog system that is 100% written in Prolog itself. It is avsailable for the JavaScript, Python and Java platform. We show how the stable ordering of Prolog variables in Dogelog Player allows highly efficient constraint solving approaches. We convert the undirected graph into a directed graph and create adjacency lists. This inequality graph doesn’t have the same delayed evaluation overhead than (#=)/2 and dif/2. We demonstrate map coloring and sudoku solving. Further improvements in a subsequent article. See also: Map Coloring and Sudoku Solving https://twitter.com/dogelogch/status/1766885890712883276 Map Coloring and Sudoku Solving https://www.facebook.com/groups/dogelog Mild Shock schrieb: > Dear All, > > We are happy to announce a new edition > of the Dogelog player: > > - Enhanced '$YIELD'/1: >   Previously the '$YIELD'/1 instruction was hard coded > to understand an integer for sleep/1 and an atom for > native library loading. The implementation has been > change to accept a Promise object, known from > JavaScript. Emulations were made available for > Java and Python. > > - Async I/O: >   Based on the new '$YIELD'/1 and a buffer fast path > idea, the console reading, file property and file > reading have been asyncified. There is no change in > the Prolog API, files are still to be opened via the > ISO core open/3 and accessed via ISO core get_code/2 > respectively ISO core peek_code/2. But input can now > be executed quasi-parallel by multiple tasks. > > - HTTP client: >   The ISO core open/4 has been moved to the library(spin). > The support of the HTTP and HTTPS protocol in open/3 > and open/4, has been extended from the JavaScript > browser to the JavaScript command line (by means of > new fetch in nodejs >21). Further supported targets > are now Python and Java (by means of new HTTP client > in JDK >21). > > Have Fun! > > Jan Burse, http://www.xlog.ch/ , 07.03.2024