• Re: ANN: Dogelog Player 1.2.5 (bun.js Support)

    From Mild Shock@janburse@fastmail.fm to comp.lang.javascript on Thu Dec 12 16:14:33 2024
    From Newsgroup: comp.lang.javascript


    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

    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Mild Shock@janburse@fastmail.fm to comp.lang.javascript on Mon Jan 13 17:47:00 2025
    From Newsgroup: comp.lang.javascript


    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


    --- Synchronet 3.20a-Linux NewsLink 1.114