Repository navigation
alib #10: stdlib/alib.affine conformance module #416
Copy link
Copy link
Closed
Description
Child issue of #413 (aLib umbrella). Item alib #10 in docs/alib-roadmap.adoc.
What
Create stdlib/alib.affine: a module that re-exports the 20 aLib operations under their aLib-canonical names, so that consumers wanting the aLib surface can use stdlib::alib::add (etc.) rather than the AffineScript-idiomatic surface.
This is the Phase-A scaffolding step — it's a re-export module, not a new implementation. Most ops already exist in stdlib/math.affine / stdlib/string.affine / stdlib/collections.affine. The work is alignment + a single import point.
Why
- Single import surface for cross-language code written against aLib.
- Phase-A scaffolding for conformance work (alib ci: Bump trufflesecurity/trufflehog from 3.94.1 to 3.94.2 #11 schema loader + ci: Bump webfactory/ssh-agent from 0.9.1 to 0.10.0 #12 test-vector executor depend on this module existing).
- Smallest scope Tier-1 item in the alib roadmap.
The 20 ops (per aLib v0.1.0 data/aggregate.json)
| Category | Ops |
|---|---|
| arithmetic | add, subtract, multiply, divide, modulo, negate, absolute, max, min |
| string | concat, length, reverse, substring |
| collection | contains, empty, filter, fold, length, map |
| comparison | (per aggregate.json — verify count) |
| logical | (per aggregate.json — verify count) |
| conditional | if_then_else |
Done when
-
stdlib/alib.affineexists, re-exports the 20 ops under their aLib names - Each re-export's signature matches the aLib
signature_string - Module type-checks under
affinescript check -
docs/alib-roadmap.adocrow ci: Bump erlef/setup-beam from 1.17.5 to 1.24.0 #10 status updated○→◐/● - Inventory snapshot in the doc updated to reflect the new file
Out of scope (for this issue)
- Test-vector running (that's alib ci: Bump webfactory/ssh-agent from 0.9.1 to 0.10.0 #12)
- Properties checking (alib ci: Bump actions/configure-pages from 5.0.0 to 6.0.0 #13)
- Schema loader (alib ci: Bump trufflesecurity/trufflehog from 3.94.1 to 3.94.2 #11)
- Edge-case coverage (alib ci: Bump github/codeql-action from 4.31.10 to 4.35.1 #7) — listed separately so it can be deferred until collection/string runtime gaps close (stdlib ci: Bump actions/setup-node from 4.0.2 to 6.3.0 #1, ci: Bump dtolnay/rust-toolchain from f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 to efa25f7f19611383d5b0ccf2d1c8914531636bf9 #2, ci: Bump dtolnay/rust-toolchain from efa25f7f19611383d5b0ccf2d1c8914531636bf9 to 3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 #8, ci: Bump actions/checkout from 4.1.1 to 6.0.2 #9)
Refs
docs/alib-roadmap.adoc— alib ci: Bump erlef/setup-beam from 1.17.5 to 1.24.0 #10hyperpolymath/aggregate-library— methods repo v0.1.0data/aggregate.jsonin aggregate-library — canonical signature list
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
feat(stdlib): alib.affine conformance module (closes #416) (#420)
docs(stdlib+alib-roadmap): fill in Tracking sections with live umbrel…
docs(stdlib+alib-roadmap): fill in Tracking sections with live umbrel…
docs(stdlib+alib-roadmap): fill in Tracking sections with live umbrel…
Roadmap tracking + Zig-FFI doc (#19) + hex/base64 encoding (#25) + In…