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


Groups > comp.lang.javascript > #124406

ANN: Dogelog Player 1.3.6 (Canonical Compare)

From Mild Shock <janburse@fastmail.fm>
Newsgroups comp.lang.javascript
Subject ANN: Dogelog Player 1.3.6 (Canonical Compare)
Date 2025-08-21 15:45 +0200
Message-ID <10877t8$cm50$3@solani.org> (permalink)

Show all headers | View raw


Dear All,

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

- Frozen Terms:
We extended our garbage collector marking bits
to Prolog compounds. Unlike Prolog variables, where
setting all bits is used to indicate change set
membership, we use it to indicate frozen objects.
This makes the garbage collector and certain
built-ins such as copy_term/2 etc.. aware of
program sharing (PS).

- Marking Algorithms:
We now provide native implementations of (==)/2,
copy_term/2, etc.. with sharing and cycle detection.
We didn't deploy additional marking bits and/or
pointers inside the Prolog terms, instead used
additional datastructures, leaving the Prolog terms
untouched. The compare/3 implementation is
not a total order.

- Canonical Compare:
The library(lists) has experimental predicates
term_decompose/3 and term_canonical/2, still written
in 100% Prolog. We showcase their usage in
library(sequence) and library(aggregate). The end-
user gets by default a structure compare, but can
also have a canonical compare, both being
total and natural orders.

Have Fun!

Jan Burse, http://www.herbrand.ai/ , 21.08.2025

Back to comp.lang.javascript | Previous | NextNext in thread | Find similar


Thread

ANN: Dogelog Player 1.3.6 (Canonical Compare) Mild Shock <janburse@fastmail.fm> - 2025-08-21 15:45 +0200
  Jaffar's Unification in Dogelog Player (Re: ANN: Dogelog Player 1.3.6 (Canonical Compare)) Mild Shock <janburse@fastmail.fm> - 2025-09-23 16:21 +0200
    Gap Buffers for Dogelog Player (Re: Jaffar's Unification in Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-10-02 14:09 +0200

csiph-web