• Re: ANN: Dogelog Player 1.2.4 (Non-Backtracking Hashtable)

    From Mild Shock@janburse@fastmail.fm to comp.lang.python on Wed Dec 4 23:49:16 2024
    From Newsgroup: comp.lang.python


    Dogelog Player is a Prolog system that is 100%
    written in Prolog itself. Previously only tested
    with node.js, we produced a release that is able
    to run on the newly available Bun command line
    JavaScript engine. bun.js itself is realized with
    the novel programming language Zig.

    To use bun.js we fixed a programming error in that
    we replaced our operating system success test by
    falsy tests (!err). We found 4 non-critical discrepancies
    among novacore and libraries. Possibly due to an older
    JavaScript version, bun.js was slightly slower
    than node.js.

    bun.js Support in Dogelog Player https://twitter.com/dogelogch/status/1864435209619329412

    bun.js Support in 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(misc/dict):
      We have moved some predicates from the library(misc/json)
    into our own library(misc/dict).  We made sure that the
    data structure of the Prolog dicts now follows the
    input order semantics.

    - New library(util/hash):
      To enable the implementation of hash tables, Novacore
    now has a term_hash/2 predicate.  The implementation
    differs from the Prolog dict in that change_arg/3 is
    used for destructive updates.  We have also dispensed
    with the input order.

    - Improved library(sequence):
      Hash tables can easily be used to model sets of keys,
    for example by using the value "true" as an indicator.
    This allowed us to re-implement the distinct/1 predicate.
    The use of numbervars/3 ensures that key variants
    are identified.

    Have Fun!

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

    --- Synchronet 3.20a-Linux NewsLink 1.114