Deutsch   English   Français   Italiano  
<usldes$16jdm$4@solani.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: Mild Shock <janburse@fastmail.fm>
Newsgroups: comp.lang.python
Subject: Re: ANN: Dogelog Player 1.1.6 (HTTP Client)
Date: Sun, 10 Mar 2024 23:50:05 +0100
Message-ID: <usldes$16jdm$4@solani.org>
References: <uscsec$12mjt$4@solani.org> <uskt2j$16bd7$3@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 10 Mar 2024 22:50:05 -0000 (UTC)
Injection-Info: solani.org;
	logging-data="1265078"; 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:wuaDCHH9/2USvts//E5eQOatrmU=
X-User-ID: eJwNwokRwCAMA7CV8tgO65AA+4/QnsSUawqiwPcL55VsacVS7h6O8ujE7QM3yl/a+AS2umjgRhkiOy71PinNFFw=
In-Reply-To: <uskt2j$16bd7$3@solani.org>
Bytes: 4075
Lines: 83


Small implementation node about the new HTTP client
in Dogelog Player for JavaScript. I am using fetch()
everywhere. No need to get help from libraries such as:

 > Axios is a promise-based HTTP Client for node.js
 > and the browser. It is isomorphic (= it can run in
 > the browser and nodejs with the same codebase).
 > On the server-side it uses the native node.js http
 > module, while on the client (browser) it uses XMLHttpRequests.
https://axios-http.com/docs/intro

First of all XMLHttpRequests is deprecated in the
browser, use fetch() instead. And nodejs has fetch()
since release 21.x.x as well. So they have become
isomorphic making AXIOS obsolete:

 > Notable Changes - Oct 17, 2023
 > The recent update to Node.js, version 21, includes
 > an important change to the fetch module as well as
 > WebStreams . Both modules were marked as stable
 > after a recent update.
https://nodejs.org/en/blog/announcements/v21-release-announce

Mild Shock schrieb:
> 
> 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
>