Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

Unix will self-destruct in five seconds... 4... 3... 2... 1...


devel / comp.lang.javascript / ANN: Dogelog Player 1.1.5 (HTTP Server)

SubjectAuthor
* ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock
`* Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock
 `* Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock
  `* Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock
   `* Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock
    `* Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock
     `* Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Lawrence D'Oliveiro
      +* Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock
      |`* Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock
      | `- Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock
      `* Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock
       `- Re: ANN: Dogelog Player 1.1.5 (HTTP Server)Mild Shock

1
ANN: Dogelog Player 1.1.5 (HTTP Server)

<uojet0$phpb$2@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18320&group=comp.lang.javascript#18320

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Sun, 21 Jan 2024 16:57:21 +0100
Message-ID: <uojet0$phpb$2@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 21 Jan 2024 15:57:20 -0000 (UTC)
Injection-Info: solani.org;
logging-data="837419"; 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:OYfwRW9k5yTPBelIBFltEShe+DM=
X-User-ID: eJwNy8EVACEIA9GWQAO65Rgk/ZewXuf9iZmetZCRCIXSd1SPbiw7vK/RTx5uK7dPInjVwZCj5nhvadaA7wdx+QN0vxaX
X-Mozilla-News-Host: news://news.solani.org:119
 by: Mild Shock - Sun, 21 Jan 2024 15:57 UTC

Dear All,

We are happy to announce a new edition of the
Dogelog player:

- Enhanced library(misc/markup):
The library(misc/markup) has been extended to
include a unified DOM writer abstraction. It can
write to the GUI DOM in the browser, and it is also
possible to write the DOM serialized in XML to a
file. There are a variety of use cases for the
library, e.g. creating static HTML pages.

- New library(misc/vector):
In this library we have brought together everything
related to SVG that was previously scattered in
the libraries library(misc/markup) and library(misc/react).
The new advantages of the extended library (misc/markup)
can also be used here, so the creation of static
SVG pages is now supported.

- New library(util/spin):
The library provides a unified HTTP server
abstraction. There are concrete implementations
for nodeJS using node:http, for PyPy using http_server
and for JDK 21 using Tomcat embedded. Local browser
GET of 50,000 bytes via Prolog atom text lines
enumeration requires approx. 5-10 ms for all Dogelog
Player targets.

Have Fun!
Jan Burse, 21.01.2024, http://www.xlog.ch/

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<uoo65n$ru5h$3@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18322&group=comp.lang.javascript#18322

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!news.swapon.de!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Tue, 23 Jan 2024 11:59:05 +0100
Message-ID: <uoo65n$ru5h$3@solani.org>
References: <uojet0$phpb$2@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 23 Jan 2024 10:59:03 -0000 (UTC)
Injection-Info: solani.org;
logging-data="915633"; 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:/uavwQ5f/wXIiJ7hNDgJ8+yEUoE=
In-Reply-To: <uojet0$phpb$2@solani.org>
X-User-ID: eJwFwYEBwCAIA7CXRilFzpko/59gEi5TJxViTMwG7Z7hYKvnZMetVQLyK64fvatuuTs5c5g0RcBK7sglPFRKFGY=
 by: Mild Shock - Tue, 23 Jan 2024 10:59 UTC

Quick update. This is fun we switched the implementation
of library(util/spin) in Dogelog Player for Java from Tomcat 11
embedded to this thingy here:

Module jdk.httpserver - Package com.sun.net.httpserver
https://download.java.net/java/early_access/panama/docs/api/jdk.httpserver/com/sun/net/httpserver/package-summary.html

JEP 408: Simple Web Server
https://openjdk.org/jeps/408

Works fine so far and seems to be an itch speedier. Its
already available in our current devel version 1.1.6 of
Dogelog Player for Java via our GIT.

Mild Shock schrieb:
> Dear All,
>
> We are happy to announce a new edition of the
> Dogelog player:
>
> - Enhanced library(misc/markup):
>   The library(misc/markup) has been extended to
> include a unified DOM writer abstraction. It can
> write to the GUI DOM in the browser, and it is also
> possible to write the DOM serialized in XML to a
> file. There are a variety of use cases for the
> library, e.g. creating static HTML pages.
>
> - New library(misc/vector):
>   In this library we have brought together everything
> related to SVG that was previously scattered in
> the libraries library(misc/markup) and library(misc/react).
> The new advantages of the extended library (misc/markup)
> can also be used here, so the creation of static
> SVG pages is now supported.
>
> - New library(util/spin):
>   The library provides a unified HTTP server
> abstraction.  There are concrete implementations
> for nodeJS using node:http, for PyPy using http_server
> and for JDK 21 using Tomcat embedded.  Local browser
> GET of 50,000 bytes via Prolog atom text lines
> enumeration requires approx. 5-10 ms for all Dogelog
> Player targets.
>
> Have Fun!
> Jan Burse, 21.01.2024, http://www.xlog.ch/

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<uoqmjs$t68e$3@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18323&group=comp.lang.javascript#18323

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Wed, 24 Jan 2024 10:51:57 +0100
Message-ID: <uoqmjs$t68e$3@solani.org>
References: <uojet0$phpb$2@solani.org> <uoo65n$ru5h$3@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 24 Jan 2024 09:51:56 -0000 (UTC)
Injection-Info: solani.org;
logging-data="956686"; 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:wn66TBsKQTiyKV33OAVlIHIPFbM=
In-Reply-To: <uoo65n$ru5h$3@solani.org>
X-User-ID: eJwNy8EBwCAIA8CVFEhgHYth/xHs/Q/Ozc4gGBhMH3SymQrzzwxr4lgB0VJKteXZF4b6w7rUdVUt821zUg9OgxU6
 by: Mild Shock - Wed, 24 Jan 2024 09:51 UTC

We describe the implementation of a dynamical HTML
page in Prolog that displays the moon phase seen from
the northern hemisphere for a given day. The code
demonstrates a HTTP server addition to Dogelog Player,
a Prolog system 100% written in Prolog itself available
for the platforms JavaScript, Python and Java.

We spent one morning to create a dynamical HTML page,
that shows the moon phase of a day via SVG. The coding
is similar to how one is usually dealing with a TTY,
lowering the learning curve. The single Prolog text
can be used to serve the HTML page unchanged via
JavaScript, Python or Java.

See also:

Moon Server with Dogelog Player
https://twitter.com/dogelogch/status/1749847817579827503

Moon Server with Dogelog Player
https://www.facebook.com/groups/dogelog

Mild Shock schrieb:
>
> Quick update. This is fun we switched the implementation
> of library(util/spin) in Dogelog Player for Java from Tomcat 11
> embedded to this thingy here:
>
> Module jdk.httpserver - Package com.sun.net.httpserver
> https://download.java.net/java/early_access/panama/docs/api/jdk.httpserver/com/sun/net/httpserver/package-summary.html
>
>
> JEP 408: Simple Web Server
> https://openjdk.org/jeps/408
>
> Works fine so far and seems to be an itch speedier. Its
> already available in our current devel version 1.1.6 of
> Dogelog Player for Java via our GIT.
>
> Mild Shock schrieb:
>> Dear All,
>>
>> We are happy to announce a new edition of the
>> Dogelog player:
>>
>> - Enhanced library(misc/markup):
>>    The library(misc/markup) has been extended to
>> include a unified DOM writer abstraction. It can
>> write to the GUI DOM in the browser, and it is also
>> possible to write the DOM serialized in XML to a
>> file. There are a variety of use cases for the
>> library, e.g. creating static HTML pages.
>>
>> - New library(misc/vector):
>>    In this library we have brought together everything
>> related to SVG that was previously scattered in
>> the libraries library(misc/markup) and library(misc/react).
>> The new advantages of the extended library (misc/markup)
>> can also be used here, so the creation of static
>> SVG pages is now supported.
>>
>> - New library(util/spin):
>>    The library provides a unified HTTP server
>> abstraction.  There are concrete implementations
>> for nodeJS using node:http, for PyPy using http_server
>> and for JDK 21 using Tomcat embedded.  Local browser
>> GET of 50,000 bytes via Prolog atom text lines
>> enumeration requires approx. 5-10 ms for all Dogelog
>> Player targets.
>>
>> Have Fun!
>> Jan Burse, 21.01.2024, http://www.xlog.ch/
>

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<upiggd$18ave$3@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18327&group=comp.lang.javascript#18327

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!news.chmurka.net!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Fri, 2 Feb 2024 11:34:53 +0100
Message-ID: <upiggd$18ave$3@solani.org>
References: <uojet0$phpb$2@solani.org> <uoo65n$ru5h$3@solani.org>
<uoqmjs$t68e$3@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 2 Feb 2024 10:34:53 -0000 (UTC)
Injection-Info: solani.org;
logging-data="1321966"; 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:1VpQcUWCayGeh+qBxnb8F6lZz/o=
In-Reply-To: <uoqmjs$t68e$3@solani.org>
X-User-ID: eJwFwYEBwCAIA7CXqFKK5ziB/09Ywh2IJw+GczhVjeujpzxX5ossozqArsq9PoFQ5Omp77RgWS8MHEtf+QNPyxTl
 by: Mild Shock - Fri, 2 Feb 2024 10:34 UTC

Dogelog Player is a Prolog system that was
conceived to run on coroutine capable targets
if a target can implement the instruction ‘$YIELD’/1.
So far this was realized for JavaScript and Python
including a notion of tasks. We enhanced the
instruction and do now provide async I/O.

We now invoke first a promise factory and then
call the ‘$YIELD’/1 instruction. We might equally
well rename it into a ‘$AWAIT’/1 instruction. We
then use our new library(spin) and demonstrate
running multiple HTTP servers in our single
threaded Dogelog Player.

See also:

Async I/O in Dogelog Player
https://twitter.com/dogelogch/status/1753364266017566812

Async I/O in Dogelog Player
https://www.facebook.com/groups/dogelog

Mild Shock schrieb:
>
> We describe the implementation of a dynamical HTML
> page in Prolog that displays the moon phase seen from
> the northern hemisphere for a given day. The code
> demonstrates a HTTP server addition to Dogelog Player,
> a Prolog system 100% written in Prolog itself available
> for the platforms JavaScript, Python and Java.
>
> We spent one morning to create a dynamical HTML page,
> that shows the moon phase of a day via SVG. The coding
> is similar to how one is usually dealing with a TTY,
> lowering the learning curve. The single Prolog text
> can be used to serve the HTML page unchanged via
> JavaScript, Python or Java.
>
> See also:
>
> Moon Server with Dogelog Player
> https://twitter.com/dogelogch/status/1749847817579827503
>
> Moon Server with Dogelog Player
> https://www.facebook.com/groups/dogelog
>
> Mild Shock schrieb:
>>
>> Quick update. This is fun we switched the implementation
>> of library(util/spin) in Dogelog Player for Java from Tomcat 11
>> embedded to this thingy here:
>>
>> Module jdk.httpserver - Package com.sun.net.httpserver
>> https://download.java.net/java/early_access/panama/docs/api/jdk.httpserver/com/sun/net/httpserver/package-summary.html
>>
>>
>> JEP 408: Simple Web Server
>> https://openjdk.org/jeps/408
>>
>> Works fine so far and seems to be an itch speedier. Its
>> already available in our current devel version 1.1.6 of
>> Dogelog Player for Java via our GIT.
>>
>> Mild Shock schrieb:
>>> Dear All,
>>>
>>> We are happy to announce a new edition of the
>>> Dogelog player:
>>>
>>> - Enhanced library(misc/markup):
>>>    The library(misc/markup) has been extended to
>>> include a unified DOM writer abstraction. It can
>>> write to the GUI DOM in the browser, and it is also
>>> possible to write the DOM serialized in XML to a
>>> file. There are a variety of use cases for the
>>> library, e.g. creating static HTML pages.
>>>
>>> - New library(misc/vector):
>>>    In this library we have brought together everything
>>> related to SVG that was previously scattered in
>>> the libraries library(misc/markup) and library(misc/react).
>>> The new advantages of the extended library (misc/markup)
>>> can also be used here, so the creation of static
>>> SVG pages is now supported.
>>>
>>> - New library(util/spin):
>>>    The library provides a unified HTTP server
>>> abstraction.  There are concrete implementations
>>> for nodeJS using node:http, for PyPy using http_server
>>> and for JDK 21 using Tomcat embedded.  Local browser
>>> GET of 50,000 bytes via Prolog atom text lines
>>> enumeration requires approx. 5-10 ms for all Dogelog
>>> Player targets.
>>>
>>> Have Fun!
>>> Jan Burse, 21.01.2024, http://www.xlog.ch/
>>
>

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<uq6nnt$1jfbj$2@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18333&group=comp.lang.javascript#18333

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Sat, 10 Feb 2024 03:41:01 +0100
Message-ID: <uq6nnt$1jfbj$2@solani.org>
References: <uojet0$phpb$2@solani.org> <uoo65n$ru5h$3@solani.org>
<uoqmjs$t68e$3@solani.org> <upiggd$18ave$3@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 10 Feb 2024 02:41:01 -0000 (UTC)
Injection-Info: solani.org;
logging-data="1686899"; 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:aV1xblMMJgjb2LN55ShEqa8wyUg=
In-Reply-To: <upiggd$18ave$3@solani.org>
X-User-ID: eJwNyckBwCAIBMCWuBaxHES3/xKS+Q48NWdFIgMEBzlUwB+UdfaYXsG5bXxsLetLXTzhr/fkkX8E27TEq8I+bqAVsg==
 by: Mild Shock - Sat, 10 Feb 2024 02:41 UTC

We already reported the new capability
that we can read async from streams. We made
this available for the file system reads on
nodeJS. We report here about a further progress
extending the async approach to HTTP fetch in
the browser and on nodeJS.

Multiple downloads make a case for async I/O
since RFC 2616 limits the number of connections.
HTTP/2 allows to send off multiple requests
which async I/O can capitalize. We demonstrate
quasi-parallel execution in Dogelog Player for
both the browser and nodeJS.

See also:

Async HTTP Client for Dogelog Player
https://twitter.com/dogelogch/status/1756144112946807135

Async HTTP Client for Dogelog Player
https://www.facebook.com/groups/dogelog

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<ur2ish$ci33$2@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18343&group=comp.lang.javascript#18343

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Tue, 20 Feb 2024 17:09:53 +0100
Message-ID: <ur2ish$ci33$2@solani.org>
References: <uojet0$phpb$2@solani.org> <uoo65n$ru5h$3@solani.org>
<uoqmjs$t68e$3@solani.org> <upiggd$18ave$3@solani.org>
<uq6nnt$1jfbj$2@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 20 Feb 2024 16:09:53 -0000 (UTC)
Injection-Info: solani.org;
logging-data="411747"; 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:ptbBKXnFCnGM24VTpr0YL5I1Juw=
X-User-ID: eJwNyMkBwDAIA7CVCo45xqFQ9h+h0VOEibUfox0ut9DfwgV427PG63iCHXPvBjbEKrAqxtHhPh2lSXQzdH5R4RVA
In-Reply-To: <uq6nnt$1jfbj$2@solani.org>
 by: Mild Shock - Tue, 20 Feb 2024 16:09 UTC

Dogelog Player is a Prolog system that features a
‘$YIELD’/1 instruction. The instruction was conceived
for single threaded runtimes with an event loop. We
could now demonstrate how to realize it without
an explicit event loop in a multi threaded runtime.

The idea is that threads use a bouncer semaphore
to get a permission to execute and thus become
“coroutines”. Now that we have layed the foundation
we started asyncifying Dogelog Player for Java.
We demonstrate a HTTP server and HTTP client
interaction in the same JVM.

See also:

Surrogate Async/Await with JDK 21
https://twitter.com/dogelogch/status/1759972607355470296

Surrogate Async/Await with JDK 21
https://www.facebook.com/groups/dogelog

Mild Shock schrieb:
>
> We already reported the new capability
> that we can read async from streams. We made
> this available for the file system reads on
> nodeJS. We report here about a further progress
> extending the async approach to HTTP fetch in
> the browser and on nodeJS.
>
> Multiple downloads make a case for async I/O
> since RFC 2616 limits the number of connections.
> HTTP/2 allows to send off multiple requests
> which async I/O can capitalize. We demonstrate
> quasi-parallel execution in Dogelog Player for
> both the browser and nodeJS.
>
> See also:
>
> Async HTTP Client for Dogelog Player
> https://twitter.com/dogelogch/status/1756144112946807135
>
> Async HTTP Client for Dogelog Player
> https://www.facebook.com/groups/dogelog

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<ur2v8l$2lhr7$3@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18345&group=comp.lang.javascript#18345

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ldo@nz.invalid (Lawrence D'Oliveiro)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Tue, 20 Feb 2024 19:41:10 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 6
Message-ID: <ur2v8l$2lhr7$3@dont-email.me>
References: <uojet0$phpb$2@solani.org> <uoo65n$ru5h$3@solani.org>
<uoqmjs$t68e$3@solani.org> <upiggd$18ave$3@solani.org>
<uq6nnt$1jfbj$2@solani.org> <ur2ish$ci33$2@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 20 Feb 2024 19:41:10 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="9a4f3fe2663ca2b9e7bae5acf1565dcf";
logging-data="2803559"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18IVLj4bzXwDcV05aJp+xFZ"
User-Agent: Pan/0.155 (Kherson; fc5a80b8)
Cancel-Lock: sha1:ltTzmxdnCdJcXDdZr/nCx2jcl3Q=
 by: Lawrence D'Oliv - Tue, 20 Feb 2024 19:41 UTC

On Tue, 20 Feb 2024 17:09:53 +0100, Mild Shock wrote:

> The idea is that threads use a bouncer semaphore to get a permission to
> execute and thus become “coroutines”.

But they are still stackful coroutines, not stackless.

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<ur3e4a$d07q$1@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18346&group=comp.lang.javascript#18346

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!news.swapon.de!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Wed, 21 Feb 2024 00:54:52 +0100
Message-ID: <ur3e4a$d07q$1@solani.org>
References: <uojet0$phpb$2@solani.org> <uoo65n$ru5h$3@solani.org>
<uoqmjs$t68e$3@solani.org> <upiggd$18ave$3@solani.org>
<uq6nnt$1jfbj$2@solani.org> <ur2ish$ci33$2@solani.org>
<ur2v8l$2lhr7$3@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 20 Feb 2024 23:54:50 -0000 (UTC)
Injection-Info: solani.org;
logging-data="426234"; 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:j09+v9emOSIuoNBcXyGAojA9HLY=
X-User-ID: eJwNxMkBAzEIA8CWOIyEy8EQ+i9hM48Jh6J5EDixsYn3T2+jVTn3iREsKzZfMsGcFV9JqR538WO6Vb87O2z7AEDxFWw=
In-Reply-To: <ur2v8l$2lhr7$3@dont-email.me>
 by: Mild Shock - Tue, 20 Feb 2024 23:54 UTC

Well they have suspend/resume semantics. They
are not continuations. They aim is to provide
async/await and not only setTimeout().

As a result you don't need to write libraries
with a continuation parameters. This is very unlike
nonsense such as the express web framework.

stackfulness
In contrast to a stackless coroutine a stackful
coroutine can be suspended from within a nested
stackframe. Execution resumes at exactly the same
point in the code where it was suspended before.

stackless
With a stackless coroutine, only the top-level routine
may be suspended. Any routine called by that top-level
routine may not itself suspend. This prohibits
providing suspend/resume operations in routines within
a general-purpose library.
https://www.boost.org/doc/libs/1_57_0/libs/coroutine/doc/html/coroutine/intro.html#coroutine.intro.stackfulness

Lawrence D'Oliveiro schrieb:
> On Tue, 20 Feb 2024 17:09:53 +0100, Mild Shock wrote:
>
>> The idea is that threads use a bouncer semaphore to get a permission to
>> execute and thus become “coroutines”.
>
> But they are still stackful coroutines, not stackless.
>

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<ur3e85$d07q$2@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18347&group=comp.lang.javascript#18347

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Wed, 21 Feb 2024 00:56:55 +0100
Message-ID: <ur3e85$d07q$2@solani.org>
References: <uojet0$phpb$2@solani.org> <uoo65n$ru5h$3@solani.org>
<uoqmjs$t68e$3@solani.org> <upiggd$18ave$3@solani.org>
<uq6nnt$1jfbj$2@solani.org> <ur2ish$ci33$2@solani.org>
<ur2v8l$2lhr7$3@dont-email.me> <ur3e4a$d07q$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 20 Feb 2024 23:56:53 -0000 (UTC)
Injection-Info: solani.org;
logging-data="426234"; 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:V0m/0c0P2JeZPD11ShjEo3frFOM=
In-Reply-To: <ur3e4a$d07q$1@solani.org>
X-User-ID: eJwNyskRACAIBLCWOBcsR0H6L0En37iCUWFwmM9XjQant9UFmfBSMYbK3HWPrzoaGPXc1PVDWI/uFNmnh+gBQAoVLA==
 by: Mild Shock - Tue, 20 Feb 2024 23:56 UTC

Basically you can programm in so called "DIRECT STYLE"
even if async I/O is involved, which might be even a
shock for functional programming language users

that are used to a lot of nonsense.

See also:

Async/Await for the Monadic Programmer
https://www.youtube.com/watch?v=OH5cxLNTTPo

DIRECT STYLE SCALA Scalar Conference 2023
https://www.youtube.com/watch?v=0Fm0y4K4YO8

Mild Shock schrieb:
>
> Well they have suspend/resume semantics. They
> are not continuations. They aim is to provide
> async/await and not only setTimeout().
>
> As a result you don't need to write libraries
> with a continuation parameters. This is very unlike
> nonsense such as the express web framework.
>
> stackfulness
> In contrast to a stackless coroutine a stackful
> coroutine can be suspended from within a nested
> stackframe. Execution resumes at exactly the same
> point in the code where it was suspended before.
>
> stackless
> With a stackless coroutine, only the top-level routine
> may be suspended. Any routine called by that top-level
> routine may not itself suspend. This prohibits
> providing suspend/resume operations in routines within
> a general-purpose library.
> https://www.boost.org/doc/libs/1_57_0/libs/coroutine/doc/html/coroutine/intro.html#coroutine.intro.stackfulness
>
>
>
> Lawrence D'Oliveiro schrieb:
>> On Tue, 20 Feb 2024 17:09:53 +0100, Mild Shock wrote:
>>
>>> The idea is that threads use a bouncer semaphore to get a permission to
>>> execute and thus become “coroutines”.
>>
>> But they are still stackful coroutines, not stackless.
>>
>

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<ur3f7b$d0ob$1@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18348&group=comp.lang.javascript#18348

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Wed, 21 Feb 2024 01:13:33 +0100
Message-ID: <ur3f7b$d0ob$1@solani.org>
References: <uojet0$phpb$2@solani.org> <uoo65n$ru5h$3@solani.org>
<uoqmjs$t68e$3@solani.org> <upiggd$18ave$3@solani.org>
<uq6nnt$1jfbj$2@solani.org> <ur2ish$ci33$2@solani.org>
<ur2v8l$2lhr7$3@dont-email.me> <ur3e4a$d07q$1@solani.org>
<ur3e85$d07q$2@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 21 Feb 2024 00:13:31 -0000 (UTC)
Injection-Info: solani.org;
logging-data="426763"; 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:6GlGLjlB2nfk5xyg8M671OBa2PU=
X-User-ID: eJwNy8ERwDAIA7CV4gMM69QE9h+h0V9hBDudQY+NrWV/Z6zaLlPBHdy4WaIg84L2DUOPNJhzRAe2zDSV+wNnlRXu
In-Reply-To: <ur3e85$d07q$2@solani.org>
 by: Mild Shock - Wed, 21 Feb 2024 00:13 UTC

Its also proof of concept that no stack copying
is necessary. Well its not 100% true the Prolog
interpreter does a little bit unwind and rewind

during the '$YIELD'/1 instruction. But we do
nowhere copy some native stack, this is unlike
Martin Odersky's speculation, he might implement

someting with stack copying. Except that a virtual
threads might using a copying when they resize
their stack, I don't see any need for copying.

Also sometimes a callback can be piggy packed on
an existing coroutine if it doesn't yield itself,
I am already using this in Dogelog Player as an

optimization. The idea to use semaphores in my
implementation can be credited to this paper
from 1980 where semaphores are the main switchpoint:

Extension of Pascal and its Application to
Quasi-Parallel Programming and Simulation, Software -
Practice and Experience, 10 (1980), 773-789
J. Kriz and H. Sandmayr
https://www.academia.edu/47139332

But my experience with JDK 21 virtual threads
is still poor, I am only beginning to explore them
as a way to have a large number of coroutines.

Mild Shock schrieb:
>
> Basically you can programm in so called "DIRECT STYLE"
> even if async I/O is involved, which might be even a
> shock for functional programming language users
>
> that are used to a lot of nonsense.
>
> See also:
>
> Async/Await for the Monadic Programmer
> https://www.youtube.com/watch?v=OH5cxLNTTPo
>
> DIRECT STYLE SCALA Scalar Conference 2023
> https://www.youtube.com/watch?v=0Fm0y4K4YO8
>
> Mild Shock schrieb:
>>
>> Well they have suspend/resume semantics. They
>> are not continuations. They aim is to provide
>> async/await and not only setTimeout().
>>
>> As a result you don't need to write libraries
>> with a continuation parameters. This is very unlike
>> nonsense such as the express web framework.
>>
>> stackfulness
>> In contrast to a stackless coroutine a stackful
>> coroutine can be suspended from within a nested
>> stackframe. Execution resumes at exactly the same
>> point in the code where it was suspended before.
>>
>> stackless
>> With a stackless coroutine, only the top-level routine
>> may be suspended. Any routine called by that top-level
>> routine may not itself suspend. This prohibits
>> providing suspend/resume operations in routines within
>> a general-purpose library.
>> https://www.boost.org/doc/libs/1_57_0/libs/coroutine/doc/html/coroutine/intro.html#coroutine.intro.stackfulness
>>
>>
>>
>> Lawrence D'Oliveiro schrieb:
>>> On Tue, 20 Feb 2024 17:09:53 +0100, Mild Shock wrote:
>>>
>>>> The idea is that threads use a bouncer semaphore to get a permission to
>>>> execute and thus become “coroutines”.
>>>
>>> But they are still stackful coroutines, not stackless.
>>>
>>
>

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<ur4qqu$dq1q$1@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18349&group=comp.lang.javascript#18349

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Wed, 21 Feb 2024 13:37:51 +0100
Message-ID: <ur4qqu$dq1q$1@solani.org>
References: <uojet0$phpb$2@solani.org> <uoo65n$ru5h$3@solani.org>
<uoqmjs$t68e$3@solani.org> <upiggd$18ave$3@solani.org>
<uq6nnt$1jfbj$2@solani.org> <ur2ish$ci33$2@solani.org>
<ur2v8l$2lhr7$3@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 21 Feb 2024 12:37:50 -0000 (UTC)
Injection-Info: solani.org;
logging-data="452666"; 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:6k7vcSu2q96g+eV+IB5rtcRUabg=
X-User-ID: eJwFwYEBwCAIA7CXRGgL5zjQ/09YAqexFQQDD28ibQ9x6y50uCbssjqdtcPTXn0656ztOSEYpS0JAr3n+wEt/hQx
In-Reply-To: <ur2v8l$2lhr7$3@dont-email.me>
 by: Mild Shock - Wed, 21 Feb 2024 12:37 UTC

Thanks for asking. I made the Prolog system
source code docu a little bit clearer now:

From the JavaScript file "machine.mjs":

/**
* Run a callback once, i.e. no choice point or trailing left
* behind. Callbacks are run with auto-yield disabled and
* promises are not accepted, i.e. run "stackless" on top of the
* given main stack or side stack. "stackless" because completion,
* i.e. return or exception by the callback, is the only context switch.
*/
export function launch(form, buf, params);

/**
* Run a task once, i.e. no choice point or trailing left
* behind. Tasks are run with auto-yield enabled and promises are
* accepted, i.e. run "stackfull" on top of the given main stack
* or side stack. "stackfull" because not only completion, i.e.
* return or exception by the task, cause a context switch, but
* also await of an auto-yield or promise.
*/
export async function launch_async(form, buf, params);

You find this in the Dogelog Player GIT.

Lawrence D'Oliveiro schrieb:
> On Tue, 20 Feb 2024 17:09:53 +0100, Mild Shock wrote:
>
>> The idea is that threads use a bouncer semaphore to get a permission to
>> execute and thus become “coroutines”.
>
> But they are still stackful coroutines, not stackless.
>

Re: ANN: Dogelog Player 1.1.5 (HTTP Server)

<us2itc$tchi$3@solani.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=18356&group=comp.lang.javascript#18356

  copy link   Newsgroups: comp.lang.javascript
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: comp.lang.javascript
Subject: Re: ANN: Dogelog Player 1.1.5 (HTTP Server)
Date: Sun, 3 Mar 2024 20:26:38 +0100
Message-ID: <us2itc$tchi$3@solani.org>
References: <uojet0$phpb$2@solani.org> <uoo65n$ru5h$3@solani.org>
<uoqmjs$t68e$3@solani.org> <upiggd$18ave$3@solani.org>
<uq6nnt$1jfbj$2@solani.org> <ur2ish$ci33$2@solani.org>
<ur2v8l$2lhr7$3@dont-email.me> <ur4qqu$dq1q$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 3 Mar 2024 19:26:37 -0000 (UTC)
Injection-Info: solani.org;
logging-data="963122"; 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:mHJ9g92H41m0rQ2M9NGJ3RDSQSc=
In-Reply-To: <ur4qqu$dq1q$1@solani.org>
X-User-ID: eJwFwQkBwDAIA0BNhSQMOS2Pfwm7o+uoAqLA5U56o29eHtHcepcx2zPS6ORzd9A3q/j69qsPCG0khzD8ahUV4g==
 by: Mild Shock - Sun, 3 Mar 2024 19:26 UTC

Dogelog Player was born in 2021 after heated internet
discussions. Its a project of an async Prolog system,
that can be used for backend server development or
inside a web browser client. Currently Dogelog Player
is fully open source and gets the most care by
its founding company.

A couple of Prolog systems provide sponsor buttons,
mainly powered by GitHub. On the other hand Crypto
wallets projections indicating exponential growth.
We setup a donation page, based on Solana, which is
deemed highly energy efficient, minimizing its
global carbon footprint.

See also:

Sustainable Appreciation for Dogelog Player
https://twitter.com/dogelogch/status/1764369222270927180

Sustainable Appreciation for Dogelog Player
https://www.facebook.com/groups/dogelog

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor