Discussion:
ANN: Dogelog Player 1.2.5 (bun.js Support)
Add Reply
Mild Shock
2024-12-05 00:22:04 UTC
Reply
Permalink
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
Mild Shock
2024-12-12 15:14:04 UTC
Reply
Permalink
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
Post by Mild Shock
Dear All,
We are happy to announce a new edition of
  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.
  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.
  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
Mild Shock
2025-01-13 16:46:33 UTC
Reply
Permalink
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
Post by Mild Shock
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.
New library(crypto) for Dogelog Player
https://twitter.com/dogelogch/status/1867225201106366624
New library(crypto) for Dogelog Player
https://www.facebook.com/groups/dogelog
Post by Mild Shock
Dear All,
We are happy to announce a new edition of
   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.
   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.
   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
Loading...