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


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

ANN: Dogelog Player 1.2.5 (bun.js Support)

Started byMild Shock <janburse@fastmail.fm>
First post2024-12-05 01:21 +0100
Last post2025-01-13 17:45 +0100
Articles 8 — 2 participants

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


Contents

  ANN: Dogelog Player 1.2.5 (bun.js Support) Mild Shock <janburse@fastmail.fm> - 2024-12-05 01:21 +0100
    Re: ANN: Dogelog Player 1.2.5 (bun.js Support) Aleks Grabowski <prolog@asap.mozmail.com> - 2024-12-07 11:46 +0000
      Re: ANN: Dogelog Player 1.2.5 (bun.js Support) Mild Shock <janburse@fastmail.fm> - 2024-12-07 14:27 +0100
        Re: ANN: Dogelog Player 1.2.5 (bun.js Support) Mild Shock <janburse@fastmail.fm> - 2024-12-07 14:38 +0100
          Re: ANN: Dogelog Player 1.2.5 (bun.js Support) Aleks Grabowski <prolog@asap.mozmail.com> - 2024-12-19 11:31 +0000
            Re: ANN: Dogelog Player 1.2.5 (bun.js Support) Mild Shock <janburse@fastmail.fm> - 2024-12-19 17:00 +0100
    Re: ANN: Dogelog Player 1.2.5 (bun.js Support) Mild Shock <janburse@fastmail.fm> - 2024-12-12 16:12 +0100
      Re: ANN: Dogelog Player 1.2.5 (bun.js Support) Mild Shock <janburse@fastmail.fm> - 2025-01-13 17:45 +0100

#14345 — ANN: Dogelog Player 1.2.5 (bun.js Support)

FromMild Shock <janburse@fastmail.fm>
Date2024-12-05 01:21 +0100
SubjectANN: Dogelog Player 1.2.5 (bun.js Support)
Message-ID<viqrmd$qnts$1@solani.org>
Dear All,

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

- New library(util/tree):
   This is the second library we have created that
is based on the change_arg/3 predicate and provides
a non-backtracking capable data structure.  This time
we created red-black trees.

- Improved library(aggregate):
   First, a new implementation using library(util/tree)
was planned.  But we finally decided to use the faster
library(util/hash) together with keysort/2.  A new
predicate unnumbervars/3 ensures the creation
of variables.

- bun.js Support:
   To use bun.js, we fixed a programming error by
replacing our OS success test with falsy tests (!err).
We found 4 non-critical discrepancies with node.js.
The performance lags slightly behind node.js because
the JavaScript version is older.

Have Fun!

Jan Burse, http://www.xlog.ch/ , 05.12.2024

[toc] | [next] | [standalone]


#14351

FromAleks Grabowski <prolog@asap.mozmail.com>
Date2024-12-07 11:46 +0000
Message-ID<vj1cj8$329t4$1@dont-email.me>
In reply to#14345
Date :Thu, 5 Dec 2024 01:21:33 +0100. Mild Shock wrote:

> Dear All,
> 
> We are happy to announce a new edition of the Dogelog player:
> 
> - New library(util/tree):
>    This is the second library we have created that
> is based on the change_arg/3 predicate and provides a non-backtracking
> capable data structure.  This time we created red-black trees.
> 
> - Improved library(aggregate):
>    First, a new implementation using library(util/tree)
> was planned.  But we finally decided to use the faster
> library(util/hash) together with keysort/2.  A new predicate
> unnumbervars/3 ensures the creation of variables.
> 
> - bun.js Support:
>    To use bun.js, we fixed a programming error by
> replacing our OS success test with falsy tests (!err).
> We found 4 non-critical discrepancies with node.js. The performance lags
> slightly behind node.js because the JavaScript version is older.
> 
> Have Fun!

Hi all,

Same as in previous post. Arch AUR package was also updated.

https://aur.archlinux.org/packages/dogelog-node
https://aur.archlinux.org/packages/dogelog-java
https://aur.archlinux.org/packages/dogelog-py

P.S. I will need to write a hook to automatically send usenet 
announcement 
on every commit that updates version.

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


#14352

FromMild Shock <janburse@fastmail.fm>
Date2024-12-07 14:27 +0100
Message-ID<vj1igm$u605$1@solani.org>
In reply to#14351
I was doing a littl research, different versions of
Java usually adopt "java" as the command line for
the bytecode interpreter and JIT compiler.

Maybe thats why the arch linux packages shows a lot
of different Java systems. But in fact it must be
above version 21, otherwise it doesn't run.

It is particular tested with Oracle Java and GraalVM Java,
version 23, but version 21 would also do at the moment.

But now have at least "node" and "bun" for JavaScript,
and as well at least "pypy3" and "python3" for Python.
But the arch packages show dependencies to

"python3" and "node". But in fact this is again not
extremly hard wired for Dogelog Player. In fact "pypy3"
is recommended over "python3", since its faster.

For "bun" versus "node" I don't know yet, one has to
observe the situation. Version wise also certain older
versions don't work. Maybe I should publish the

version requirements somewhere. But its hard to judge
sometimes. You can do this check to see whether your
versions that you have on your system are compatible:

mkdir xlog
cd xlog
git clone https://www.dogelog.ch/dogelog/.git
git clone https://www.novacuor.ch/novacore/.git
cd novacore
ant -f harness/run.xml
webfsd -p 8598

Look at the test results via:

http://localhost:8598/

Aleks Grabowski schrieb:
> Date :Thu, 5 Dec 2024 01:21:33 +0100. Mild Shock wrote:
> 
>> Dear All,
>>
>> We are happy to announce a new edition of the Dogelog player:
>>
>> - New library(util/tree):
>>     This is the second library we have created that
>> is based on the change_arg/3 predicate and provides a non-backtracking
>> capable data structure.  This time we created red-black trees.
>>
>> - Improved library(aggregate):
>>     First, a new implementation using library(util/tree)
>> was planned.  But we finally decided to use the faster
>> library(util/hash) together with keysort/2.  A new predicate
>> unnumbervars/3 ensures the creation of variables.
>>
>> - bun.js Support:
>>     To use bun.js, we fixed a programming error by
>> replacing our OS success test with falsy tests (!err).
>> We found 4 non-critical discrepancies with node.js. The performance lags
>> slightly behind node.js because the JavaScript version is older.
>>
>> Have Fun!
> 
> Hi all,
> 
> Same as in previous post. Arch AUR package was also updated.
> 
> https://aur.archlinux.org/packages/dogelog-node
> https://aur.archlinux.org/packages/dogelog-java
> https://aur.archlinux.org/packages/dogelog-py
> 
> P.S. I will need to write a hook to automatically send usenet
> announcement
> on every commit that updates version.
> 

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


#14353

FromMild Shock <janburse@fastmail.fm>
Date2024-12-07 14:38 +0100
Message-ID<vj1j4s$u6d4$1@solani.org>
In reply to#14352
Whats also extremly annonying. A very early version
of node 23.x didn't work correctly. So I fell back
to node 22.x. Still waiting to do some retest with 23.x.

What worked for me in the tip release is actually published here:

j	Dogelog Player 1.2.5, Java 23.0.1
js	Dogelog Player 1.2.5, JavaScript 22.11.0
py	Dogelog Player 1.2.5, Python 3.10.14

https://www.novacuor.ch/exatab/doclet/docs/10_core/ryzen/package.html?hash=bench

But Python is in fact PyPy and JavaScript is curently node.
But the above doesn't reflect really the minimum, rather
only the known maximum on Windows 11.

Mild Shock schrieb:
> I was doing a littl research, different versions of
> Java usually adopt "java" as the command line for
> the bytecode interpreter and JIT compiler.
> 
> Maybe thats why the arch linux packages shows a lot
> of different Java systems. But in fact it must be
> above version 21, otherwise it doesn't run.
> 
> It is particular tested with Oracle Java and GraalVM Java,
> version 23, but version 21 would also do at the moment.
> 
> But now have at least "node" and "bun" for JavaScript,
> and as well at least "pypy3" and "python3" for Python.
> But the arch packages show dependencies to
> 
> "python3" and "node". But in fact this is again not
> extremly hard wired for Dogelog Player. In fact "pypy3"
> is recommended over "python3", since its faster.
> 
> For "bun" versus "node" I don't know yet, one has to
> observe the situation. Version wise also certain older
> versions don't work. Maybe I should publish the
> 
> version requirements somewhere. But its hard to judge
> sometimes. You can do this check to see whether your
> versions that you have on your system are compatible:
> 
> mkdir xlog
> cd xlog
> git clone https://www.dogelog.ch/dogelog/.git
> git clone https://www.novacuor.ch/novacore/.git
> cd novacore
> ant -f harness/run.xml
> webfsd -p 8598
> 
> Look at the test results via:
> 
> http://localhost:8598/
> 
> Aleks Grabowski schrieb:
>> Date :Thu, 5 Dec 2024 01:21:33 +0100. Mild Shock wrote:
>>
>>> Dear All,
>>>
>>> We are happy to announce a new edition of the Dogelog player:
>>>
>>> - New library(util/tree):
>>>     This is the second library we have created that
>>> is based on the change_arg/3 predicate and provides a non-backtracking
>>> capable data structure.  This time we created red-black trees.
>>>
>>> - Improved library(aggregate):
>>>     First, a new implementation using library(util/tree)
>>> was planned.  But we finally decided to use the faster
>>> library(util/hash) together with keysort/2.  A new predicate
>>> unnumbervars/3 ensures the creation of variables.
>>>
>>> - bun.js Support:
>>>     To use bun.js, we fixed a programming error by
>>> replacing our OS success test with falsy tests (!err).
>>> We found 4 non-critical discrepancies with node.js. The performance lags
>>> slightly behind node.js because the JavaScript version is older.
>>>
>>> Have Fun!
>>
>> Hi all,
>>
>> Same as in previous post. Arch AUR package was also updated.
>>
>> https://aur.archlinux.org/packages/dogelog-node
>> https://aur.archlinux.org/packages/dogelog-java
>> https://aur.archlinux.org/packages/dogelog-py
>>
>> P.S. I will need to write a hook to automatically send usenet
>> announcement
>> on every commit that updates version.
>>
> 

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


#14374

FromAleks Grabowski <prolog@asap.mozmail.com>
Date2024-12-19 11:31 +0000
Message-ID<vk106p$2rakn$1@dont-email.me>
In reply to#14353
Date :Sat, 7 Dec 2024 14:38:36 +0100. Mild Shock wrote:

> Whats also extremly annonying. A very early version of node 23.x didn't
> work correctly. So I fell back to node 22.x. Still waiting to do some
> retest with 23.x.
> 
> What worked for me in the tip release is actually published here:
> 
> j	Dogelog Player 1.2.5, Java 23.0.1 js	Dogelog Player 1.2.5, 
JavaScript
> 22.11.0 py	Dogelog Player 1.2.5, Python 3.10.14
> 
> https://www.novacuor.ch/exatab/doclet/docs/10_core/ryzen/package.html?
hash=bench
> 
> But Python is in fact PyPy and JavaScript is curently node.
> But the above doesn't reflect really the minimum, rather only the known
> maximum on Windows 11.

Current version requirements for arch package are:

py CPython ≥ 3.10.14 or pypy3 (any version)
js nodejs ≥ 22.11.0 or bun (any version)
j  java-runtime ≥ 21

I expect users to apply common sense when trying to run Dogelog it should 
be obvious that very old interpreters might not work :)

-- 
BR,
Alex

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


#14375

FromMild Shock <janburse@fastmail.fm>
Date2024-12-19 17:00 +0100
Message-ID<vk1fur$131fo$1@solani.org>
In reply to#14374
Ok, thanks!

There is a problem that I haven't resolved yet.
Namely node.js ≥ 22.11.0 is too optimistic.
Especially when using JavaScript together with

the AntScript that runs the test cases. When
I use the AntScript test cases on Dogelog Player 1.2.6,
with node.js version 23.x I see this Warning:

Test run ...
Generating dump ...
comply_reference_report
Warning: Detected unsettled top-level await
Result: 13

The warning doesn't show with node.js version 22.x.
Since it happens when running some test cases which
do all kind of non-sunshine probing, it could be a

problem that somewhere I really miss settling a promise,
or its an ugly timing problem. It doesn't happen when
opening the top-level or running a script.

Like the top-level shows me:

 > node.exe player\canned\dogelog.mjs
Dogelog Spieler, Prolog zum Mond, 1.2.6 (05.12.2024)
(c) 1985-2024, XLOG Technologies AG, Schweiz
?- current_prolog_flag(host_info, X).
X = 'node, JavaScript 23.4.0'.
?- X=0;X=1.
X = 0;
X = 1.
?- end_of_file.

So its all fine if we do simple things. But something
is wrecked when running the test suite. It doesn't
happen with bun.js. I will open a ticket as a reminder.

Aleks Grabowski schrieb:
> Date :Sat, 7 Dec 2024 14:38:36 +0100. Mild Shock wrote:
> 
>> Whats also extremly annonying. A very early version of node 23.x didn't
>> work correctly. So I fell back to node 22.x. Still waiting to do some
>> retest with 23.x.
>>
>> What worked for me in the tip release is actually published here:
>>
>> j	Dogelog Player 1.2.5, Java 23.0.1 js	Dogelog Player 1.2.5,
> JavaScript
>> 22.11.0 py	Dogelog Player 1.2.5, Python 3.10.14
>>
>> https://www.novacuor.ch/exatab/doclet/docs/10_core/ryzen/package.html?
> hash=bench
>>
>> But Python is in fact PyPy and JavaScript is curently node.
>> But the above doesn't reflect really the minimum, rather only the known
>> maximum on Windows 11.
> 
> Current version requirements for arch package are:
> 
> py CPython ≥ 3.10.14 or pypy3 (any version)
> js nodejs ≥ 22.11.0 or bun (any version)
> j  java-runtime ≥ 21
> 
> I expect users to apply common sense when trying to run Dogelog it should
> be obvious that very old interpreters might not work :)
> 

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


#14366

FromMild Shock <janburse@fastmail.fm>
Date2024-12-12 16:12 +0100
Message-ID<vjeuhq$paoa$1@solani.org>
In reply to#14345
The Dogelog Player Prolog system runs on top of
either JavaScript, Python and Java. Initially
developed for the browser it supports single
threaded execution with cooperative tasks and
an event based I/O processing. We recently added
a new library(crypto) to compute file checksums.

For simplicity we only provide the functionality
of a message digest. A use case for a message
digest is the computation of a checksum for a file.
We only reach around 1MB/s SHA-256 throughput.
We blame the many parts of our I/O that are
100% Prolog based.

See also:

New library(crypto) for Dogelog Player
https://twitter.com/dogelogch/status/1867225201106366624

New library(crypto) for Dogelog Player
https://www.facebook.com/groups/dogelog

Mild Shock schrieb:
> Dear All,
> 
> We are happy to announce a new edition of
> the Dogelog player:
> 
> - New library(util/tree):
>    This is the second library we have created that
> is based on the change_arg/3 predicate and provides
> a non-backtracking capable data structure.  This time
> we created red-black trees.
> 
> - Improved library(aggregate):
>    First, a new implementation using library(util/tree)
> was planned.  But we finally decided to use the faster
> library(util/hash) together with keysort/2.  A new
> predicate unnumbervars/3 ensures the creation
> of variables.
> 
> - bun.js Support:
>    To use bun.js, we fixed a programming error by
> replacing our OS success test with falsy tests (!err).
> We found 4 non-critical discrepancies with node.js.
> The performance lags slightly behind node.js because
> the JavaScript version is older.
> 
> Have Fun!
> 
> Jan Burse, http://www.xlog.ch/ , 05.12.2024

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


#14411

FromMild Shock <janburse@fastmail.fm>
Date2025-01-13 17:45 +0100
Message-ID<vm3fvu$1uq2$1@solani.org>
In reply to#14366
The recent release of Dogelog Player featured
new libraries library(hash) and library(tree).
Those libraries provided non-backtracking
operations based on change_arg/3. We report on
some additions to those libraries that now also
provide backracking operations without change_arg/3.

As a running test case we used a counter model
finder to answer the question is every group
commutative? Although such problems have a nagging
high complexity using our backtracking red black
trees gave a 28% boost and our backtracking hash
tables gave an additional 23% boost.

See also:

Backtracking library(hash) for Dogelog Player
https://x.com/dogelogch/status/1878844643410092296

Backtracking library(hash) for Dogelog Player
https://www.facebook.com/groups/dogelog

Mild Shock schrieb:
> 
> The Dogelog Player Prolog system runs on top of
> either JavaScript, Python and Java. Initially
> developed for the browser it supports single
> threaded execution with cooperative tasks and
> an event based I/O processing. We recently added
> a new library(crypto) to compute file checksums.
> 
> For simplicity we only provide the functionality
> of a message digest. A use case for a message
> digest is the computation of a checksum for a file.
> We only reach around 1MB/s SHA-256 throughput.
> We blame the many parts of our I/O that are
> 100% Prolog based.
> 
> See also:
> 
> New library(crypto) for Dogelog Player
> https://twitter.com/dogelogch/status/1867225201106366624
> 
> New library(crypto) for Dogelog Player
> https://www.facebook.com/groups/dogelog
> 
> Mild Shock schrieb:
>> Dear All,
>>
>> We are happy to announce a new edition of
>> the Dogelog player:
>>
>> - New library(util/tree):
>>    This is the second library we have created that
>> is based on the change_arg/3 predicate and provides
>> a non-backtracking capable data structure.  This time
>> we created red-black trees.
>>
>> - Improved library(aggregate):
>>    First, a new implementation using library(util/tree)
>> was planned.  But we finally decided to use the faster
>> library(util/hash) together with keysort/2.  A new
>> predicate unnumbervars/3 ensures the creation
>> of variables.
>>
>> - bun.js Support:
>>    To use bun.js, we fixed a programming error by
>> replacing our OS success test with falsy tests (!err).
>> We found 4 non-critical discrepancies with node.js.
>> The performance lags slightly behind node.js because
>> the JavaScript version is older.
>>
>> Have Fun!
>>
>> Jan Burse, http://www.xlog.ch/ , 05.12.2024
> 

[toc] | [prev] | [standalone]


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


csiph-web