Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.prolog > #13950 > unrolled thread

ANN: Dogelog Player 1.1.5 (HTTP Server)

Started byMild Shock <janburse@fastmail.fm>
First post2024-01-21 16:56 +0100
Last post2024-03-03 20:25 +0100
Articles 7 — 2 participants

Back to article view | Back to comp.lang.prolog


Contents

  ANN: Dogelog Player 1.1.5 (HTTP Server) Mild Shock <janburse@fastmail.fm> - 2024-01-21 16:56 +0100
    Re: ANN: Dogelog Player 1.1.5 (HTTP Server) Mild Shock <bursejan@gmail.com> - 2024-01-23 02:54 -0800
      Re: ANN: Dogelog Player 1.1.5 (HTTP Server) Mild Shock <janburse@fastmail.fm> - 2024-01-24 10:50 +0100
        Re: ANN: Dogelog Player 1.1.5 (HTTP Server) Mild Shock <janburse@fastmail.fm> - 2024-02-02 11:33 +0100
          Re: ANN: Dogelog Player 1.1.5 (HTTP Server) Mild Shock <janburse@fastmail.fm> - 2024-02-10 03:40 +0100
            Re: ANN: Dogelog Player 1.1.5 (HTTP Server) Mild Shock <janburse@fastmail.fm> - 2024-02-20 17:09 +0100
              Re: ANN: Dogelog Player 1.1.5 (HTTP Server) Mild Shock <janburse@fastmail.fm> - 2024-03-03 20:25 +0100

#13950 — ANN: Dogelog Player 1.1.5 (HTTP Server)

FromMild Shock <janburse@fastmail.fm>
Date2024-01-21 16:56 +0100
SubjectANN: Dogelog Player 1.1.5 (HTTP Server)
Message-ID<uojerg$phpb$1@solani.org>
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/

[toc] | [next] | [standalone]


#13951

FromMild Shock <bursejan@gmail.com>
Date2024-01-23 02:54 -0800
Message-ID<580b77e9-5ce1-4659-b449-7ed5bb40b50dn@googlegroups.com>
In reply to#13950
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 am Sonntag, 21. Januar 2024 um 16:56:35 UTC+1:
> 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/

[toc] | [prev] | [next] | [standalone]


#13952

FromMild Shock <janburse@fastmail.fm>
Date2024-01-24 10:50 +0100
Message-ID<uoqmhs$t68e$1@solani.org>
In reply to#13951
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 am Sonntag, 21. Januar 2024 um 16:56:35 UTC+1:
>> 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/

[toc] | [prev] | [next] | [standalone]


#13959

FromMild Shock <janburse@fastmail.fm>
Date2024-02-02 11:33 +0100
Message-ID<upigdd$18ave$1@solani.org>
In reply to#13952
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 am Sonntag, 21. Januar 2024 um 16:56:35 UTC+1:
>>> 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/
> 

[toc] | [prev] | [next] | [standalone]


#13964

FromMild Shock <janburse@fastmail.fm>
Date2024-02-10 03:40 +0100
Message-ID<uq6nmq$1jfbj$1@solani.org>
In reply to#13959
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

[toc] | [prev] | [next] | [standalone]


#13980

FromMild Shock <janburse@fastmail.fm>
Date2024-02-20 17:09 +0100
Message-ID<ur2irj$ci33$1@solani.org>
In reply to#13964
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

[toc] | [prev] | [next] | [standalone]


#14005

FromMild Shock <janburse@fastmail.fm>
Date2024-03-03 20:25 +0100
Message-ID<us2ir6$tchi$1@solani.org>
In reply to#13980
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

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.prolog


csiph-web