summaryrefslogtreecommitdiffhomepage
path: root/gleam
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2026-10-13 16:54:02 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2026-10-13 16:54:02 -0400
commit79a7a0cf09c9d6b5d9974376dcb7a98bd5bdbcba (patch)
tree0a83345133c51ff0144c33364077603570a47f45 /gleam
parentformat 2.1: ocda-read, the readers folded in (diff)
release 2.1.0: versions, a nix-gleam build, READMEHEADmainclaude-spec-matchup-redo-fixing-3
The library's version follows the format's: 2.1.0 in dub.json, gleam.toml and both flakes. A release is numbered major.minor.patch, major.minor being the format and shared with the specification and the writer, the patch the library's own. dlang/flake.lock and gleam/flake.lock: nixpkgs forward to 26.11pre1097770, the same revision in both, as the two have been at every commit. README: - the two earlier readers, sisudoc-ssp-reader and sisudoc-ocda-db-reader, are named as what they now are: published frozen, the record of readers written from the specification alone, their work done by ocda-read; - the documents the checks run over are the markup document samples, named with their repository and the spine flags that build the artefacts; the claims say "every document-language of the markup document samples" rather than a count, which changes as the samples do; the same in gleam/README.md, which also describes the nix-gleam build and names the specification's documents as .md, as they are; - "one implementation per language", where it said "one reader"; - the reader's modes that describe the document say the same of every form; --languages and --files describe the file, and say so; - a short section on building, a link to the specification, the format as 2.1, and the license. Checked: D and Gleam build; with the writer at the same point, over the markup document samples: the four dumps (D and Gleam, .ssp and .ocda.db) identical for every document-language of the markup document samples, ocda-read the same from every form and in both languages, and D == Gleam in all five formats. (assisted by Claude-Code)
Diffstat (limited to 'gleam')
-rw-r--r--gleam/README.md23
-rw-r--r--gleam/flake.lock8
-rw-r--r--gleam/flake.nix2
-rw-r--r--gleam/gleam.toml2
4 files changed, 18 insertions, 17 deletions
diff --git a/gleam/README.md b/gleam/README.md
index 482db38..8135005 100644
--- a/gleam/README.md
+++ b/gleam/README.md
@@ -60,12 +60,12 @@ the whole model out canonically, and is the stronger check of the two,
because it is **byte for byte what the D library's `ocda-dump` writes**.
So the four questions can all be asked with `diff`:
-| | |
-|-----------------------------|-----------------------------|
-| D: `.ssp` == `.ocda.db` | 36 of 36 document-languages |
-| Gleam: `.ssp` == `.ocda.db` | 36 of 36 |
-| `.ssp`: D == Gleam | 36 of 36 |
-| `.ocda.db`: D == Gleam | 36 of 36 |
+| | |
+|-----------------------------|-------------------------|
+| D: `.ssp` == `.ocda.db` | every document-language |
+| Gleam: `.ssp` == `.ocda.db` | every document-language |
+| `.ssp`: D == Gleam | every document-language |
+| `.ocda.db`: D == Gleam | every document-language |
## Deliberately a mirror of the D library
@@ -112,11 +112,12 @@ nix develop -c gleam test
Shipped as an Erlang shipment rather than an escript, because sqlite on the
BEAM is a NIF and a NIF cannot be loaded from inside an escript archive.
-The dependency hash in `flake.nix` pins what `manifest.toml` pins; change
-one and the other must change with it.
+The build is nix-gleam's, kept in `nix-gleam/` (see its README): each Hex
+dependency is fetched on its own, with the checksum gleam wrote into
+`manifest.toml`, so there is no hash in `flake.nix` to keep up to date.
## Format
-Specified in **sisudoc-abstraction-format**: `ocda-model.org` for the model,
-`ssp-format-specification.org` and `ocda-db-format-specification.org` for the
-two serialisations. At format **2.x**.
+Specified in **sisudoc-abstraction-format**: `ocda-model.md` for the model,
+`ssp-format-specification.md` and `ocda-db-format-specification.md` for the
+two serialisations. At format **2.1**.
diff --git a/gleam/flake.lock b/gleam/flake.lock
index 12c4c3b..ff026a4 100644
--- a/gleam/flake.lock
+++ b/gleam/flake.lock
@@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
- "lastModified": 1790652569,
- "narHash": "sha256-k8Fu4c9Z+4Nh7mUr0cfw++ITQiyEhlWxoJBOkI3tOcQ=",
- "rev": "b6c8664de9b6cc07fe5666a29f91884ba81197c4",
+ "lastModified": 1792506237,
+ "narHash": "sha256-hVMDyAXU0kxRuG3GygbZkzf5x+aBNEC0NYEJ6KwHtD4=",
+ "rev": "5adc50831c259f87faeb09ddf930d43597197473",
"type": "tarball",
- "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1082290.b6c8664de9b6/nixexprs.tar.zst"
+ "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1097770.5adc50831c25/nixexprs.tar.zst"
},
"original": {
"type": "tarball",
diff --git a/gleam/flake.nix b/gleam/flake.nix
index 132e3fc..da194b5 100644
--- a/gleam/flake.nix
+++ b/gleam/flake.nix
@@ -37,7 +37,7 @@
*/
${name} = buildGleamApplication {
pname = "ocda-lib";
- version = "2.0.0";
+ version = "2.1.0";
src = ./.;
rebar3Package = rebar3-pc;
nativeBuildInputs = [ pkgs.makeWrapper ];
diff --git a/gleam/gleam.toml b/gleam/gleam.toml
index 7b474eb..66d3280 100644
--- a/gleam/gleam.toml
+++ b/gleam/gleam.toml
@@ -1,5 +1,5 @@
name = "ocda_lib"
-version = "2.0.0"
+version = "2.1.0"
description = "the object-centric document abstraction as a library: the model, and loaders for its two serialisations"
licences = ["AGPL-3.0-or-later"]