Release 1.0.0-beta.3
This commit is contained in:
parent
25bad3cb8b
commit
bcfc8d7b68
@ -1,5 +1,11 @@
|
||||
# Beta 3 Standard Library Stabilization
|
||||
|
||||
Release label: `1.0.0-beta.3`
|
||||
|
||||
Release date: 2026-05-22
|
||||
|
||||
Status: released beta standard-library stabilization slice.
|
||||
|
||||
## Scope
|
||||
|
||||
This post-`1.0.0-beta.2` slice stabilizes the existing standard-library surface
|
||||
|
||||
17
README.md
17
README.md
@ -6,7 +6,7 @@ This repository is the canonical public monorepo for the language design,
|
||||
standard library source, compiler, runtime, examples, benchmarks, and technical
|
||||
documents.
|
||||
|
||||
Current release: `1.0.0-beta.2`.
|
||||
Current release: `1.0.0-beta.3`.
|
||||
|
||||
## Repository Layout
|
||||
|
||||
@ -24,10 +24,11 @@ scripts/ local release and document tooling
|
||||
|
||||
## Beta Scope
|
||||
|
||||
`1.0.0-beta.2` keeps the `1.0.0-beta` language baseline, includes the
|
||||
`1.0.0-beta.1` tooling/install hardening slice, and adds the first
|
||||
runtime/resource foundation bundle. The language baseline supports practical
|
||||
local command-line programs and libraries with:
|
||||
`1.0.0-beta.3` keeps the `1.0.0-beta` language baseline, includes the
|
||||
`1.0.0-beta.1` tooling/install hardening slice, the `1.0.0-beta.2`
|
||||
runtime/resource foundation bundle, and the first standard-library
|
||||
stabilization bundle. The language baseline supports practical local
|
||||
command-line programs and libraries with:
|
||||
|
||||
- modules, explicit imports, packages, and local workspaces
|
||||
- `new`, `check`, `fmt`, `test`, `doc`, and `build`
|
||||
@ -134,10 +135,10 @@ async IO, platform error codes, or stable handle ABI/layout. Directory creation
|
||||
is intentionally narrow and does not imply directory enumeration or recursive
|
||||
filesystem APIs.
|
||||
|
||||
## Post-beta Mainline
|
||||
## 1.0.0-beta.3 Standard Library Stabilization
|
||||
|
||||
Current `main` after `1.0.0-beta.2` has started the standard-library
|
||||
stabilization slice. It includes a generated standard-library API catalog and
|
||||
The `1.0.0-beta.3` release starts the standard-library stabilization slice. It
|
||||
adds a generated standard-library API catalog and
|
||||
`examples/projects/stdlib-composition`, a checked/tested/run-capable program
|
||||
that composes `std.fs`, `std.string`, `std.math`, and `std.io`.
|
||||
|
||||
|
||||
2
compiler/Cargo.lock
generated
2
compiler/Cargo.lock
generated
@ -4,4 +4,4 @@ version = 3
|
||||
|
||||
[[package]]
|
||||
name = "glagol"
|
||||
version = "1.0.0-beta.2"
|
||||
version = "1.0.0-beta.3"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "glagol"
|
||||
version = "1.0.0-beta.2"
|
||||
version = "1.0.0-beta.3"
|
||||
edition = "2021"
|
||||
description = "Glagol, the first compiler for the Slovo language"
|
||||
license = "MIT OR Apache-2.0"
|
||||
|
||||
@ -87,7 +87,7 @@ Work:
|
||||
- identify helpers that should wait for generics instead of being copied across
|
||||
concrete type families
|
||||
|
||||
Started on `main` after `1.0.0-beta.2`: `docs/language/STDLIB_API.md` is
|
||||
Released in `1.0.0-beta.3`: `docs/language/STDLIB_API.md` is
|
||||
generated from `lib/std/*.slo` and guarded by `scripts/release-gate.sh`.
|
||||
`examples/projects/stdlib-composition` adds a realistic command-line project
|
||||
that composes `std.fs`, `std.string`, `std.math`, and `std.io` through explicit
|
||||
|
||||
@ -12,6 +12,37 @@ integration/readiness release, not the first real beta.
|
||||
|
||||
No unreleased changes yet.
|
||||
|
||||
## 1.0.0-beta.3
|
||||
|
||||
Release label: `1.0.0-beta.3`
|
||||
|
||||
Release date: 2026-05-22
|
||||
|
||||
Release state: standard-library stabilization beta update
|
||||
|
||||
### Summary
|
||||
|
||||
Glagol `1.0.0-beta.3` keeps the `1.0.0-beta` compiler support baseline and
|
||||
adds the first standard-library stabilization bundle:
|
||||
|
||||
- `scripts/render-stdlib-api-doc.sh` generates
|
||||
`docs/language/STDLIB_API.md` from repo-root `lib/std/*.slo`
|
||||
- the release gate now verifies that generated standard-library API catalog
|
||||
before tests and smoke checks complete
|
||||
- `examples/projects/stdlib-composition` proves a realistic multi-module
|
||||
standard-library program through `fmt --check`, `check`, `test`, `doc`, and
|
||||
hosted `glagol run` when the local toolchain is available
|
||||
- `compiler/tests/standard_stdlib_composition_beta.rs` gates that composition
|
||||
example and guards against accidental local module copies
|
||||
- project-local `.slovo/` build artifacts are ignored so `glagol run` output
|
||||
stays out of commits
|
||||
|
||||
### Explicit Deferrals
|
||||
|
||||
This release does not add syntax, generics, stable standard-library API
|
||||
promises, stable ABI/layout guarantees, richer host error codes, networking, or
|
||||
async runtime behavior.
|
||||
|
||||
## 1.0.0-beta.2
|
||||
|
||||
Release label: `1.0.0-beta.2`
|
||||
|
||||
@ -22,11 +22,12 @@ general-purpose beta release.
|
||||
|
||||
A Glagol feature is done only when it has parser/lowerer support, checker behavior, diagnostics for invalid forms, backend behavior or explicit unsupported diagnostics, and tests.
|
||||
|
||||
Current stage: `1.0.0-beta.2`, released on 2026-05-22 as the first post-beta
|
||||
runtime/resource foundation update. It keeps the `1.0.0-beta` language/compiler
|
||||
support baseline and includes the `1.0.0-beta.1` tooling hardening release plus
|
||||
beta-scoped `std.fs` resource handles, filesystem status checks, file removal,
|
||||
and single-directory creation.
|
||||
Current stage: `1.0.0-beta.3`, released on 2026-05-22 as the first post-beta
|
||||
standard-library stabilization update. It keeps the `1.0.0-beta`
|
||||
language/compiler support baseline and includes the `1.0.0-beta.1` tooling
|
||||
hardening release, the `1.0.0-beta.2` runtime/resource foundation release, the
|
||||
generated standard-library API catalog gate, and focused multi-module stdlib
|
||||
composition coverage.
|
||||
|
||||
The final experimental precursor scope is `exp-125`. Its unsigned direct-value
|
||||
flow, parse/format runtime lanes, and matching staged stdlib helper breadth
|
||||
|
||||
@ -8,15 +8,43 @@ Historical `exp-*` releases listed here are experimental maturity milestones.
|
||||
The pushed tag `v2.0.0-beta.1` is historical. It is now documented as an
|
||||
experimental integration/readiness release, not as a beta maturity claim.
|
||||
|
||||
The current release is `1.0.0-beta.2`, published on 2026-05-22. It keeps the
|
||||
The current release is `1.0.0-beta.3`, published on 2026-05-22. It keeps the
|
||||
`1.0.0-beta` language surface, includes the first post-beta tooling/install
|
||||
hardening bundle from `1.0.0-beta.1`, and adds the first runtime/resource
|
||||
foundation bundle.
|
||||
foundation bundle from `1.0.0-beta.2` plus the first standard-library
|
||||
stabilization bundle.
|
||||
|
||||
## Unreleased
|
||||
|
||||
No unreleased changes yet.
|
||||
|
||||
## 1.0.0-beta.3
|
||||
|
||||
Release label: `1.0.0-beta.3`
|
||||
|
||||
Release name: Standard Library Stabilization Bundle
|
||||
|
||||
Release date: 2026-05-22
|
||||
|
||||
Status: released beta standard-library stabilization update on the
|
||||
`1.0.0-beta` language baseline.
|
||||
|
||||
`1.0.0-beta.3` contains the first standard-library stabilization slice:
|
||||
|
||||
- `docs/language/STDLIB_API.md` is generated from the exported helpers in
|
||||
`lib/std/*.slo`
|
||||
- `scripts/render-stdlib-api-doc.sh` regenerates that catalog, and
|
||||
`scripts/release-gate.sh` fails if the generated catalog is stale
|
||||
- `examples/projects/stdlib-composition` adds a realistic command-line project
|
||||
that composes explicit `std.fs`, `std.string`, `std.math`, and `std.io`
|
||||
imports for file write/read, parse, compute, cleanup, and hosted run output
|
||||
- `.llm/BETA_3_STDLIB_STABILIZATION.md` records the beta.3 stabilization
|
||||
contract and deferred decisions
|
||||
|
||||
This release does not freeze stable standard-library APIs. It still defers
|
||||
generics, an automatic prelude, stable ABI/layout guarantees, richer host error
|
||||
codes, maps/sets, networking, and async behavior.
|
||||
|
||||
## 1.0.0-beta.2
|
||||
|
||||
Release label: `1.0.0-beta.2`
|
||||
|
||||
@ -10,11 +10,12 @@ Long-horizon planning lives in
|
||||
release train from the historical `v2.0.0-beta.1` tag toward and beyond the
|
||||
first real general-purpose beta Slovo contract.
|
||||
|
||||
Current stage: `1.0.0-beta.2`, released on 2026-05-22 as the first post-beta
|
||||
runtime/resource foundation update. It keeps the `1.0.0-beta` language
|
||||
contract and includes the `1.0.0-beta.1` tooling hardening release plus
|
||||
beta-scoped `std.fs` resource handles, filesystem status checks, file removal,
|
||||
and single-directory creation.
|
||||
Current stage: `1.0.0-beta.3`, released on 2026-05-22 as the first post-beta
|
||||
standard-library stabilization update. It keeps the `1.0.0-beta` language
|
||||
contract and includes the `1.0.0-beta.1` tooling hardening release, the
|
||||
`1.0.0-beta.2` runtime/resource foundation release, the generated
|
||||
standard-library API catalog, and a checked multi-module stdlib composition
|
||||
project.
|
||||
|
||||
The final experimental precursor scope is `exp-125`, defined in
|
||||
`.llm/EXP_125_UNSIGNED_U32_U64_NUMERIC_AND_STDLIB_BREADTH_ALPHA.md`. Its
|
||||
|
||||
@ -6,7 +6,7 @@ Do not edit this file by hand.
|
||||
## Stability Tiers
|
||||
|
||||
- `beta-supported`: exported from `lib/std` and covered by source-search, promotion, or facade gates in the current beta line.
|
||||
- `experimental`: not used for exported `lib/std` helpers in `1.0.0-beta.2`; future releases may mark new helpers this way before they graduate.
|
||||
- `experimental`: not used for exported `lib/std` helpers in `1.0.0-beta.3`; future releases may mark new helpers this way before they graduate.
|
||||
- `internal`: helper names that are not exported from their module; they are intentionally omitted from this catalog.
|
||||
|
||||
The catalog is a beta compatibility aid, not a stable `1.0.0` API freeze.
|
||||
|
||||
@ -8,11 +8,11 @@ Entries in this section are current compiler support under the matching
|
||||
release notes. The current compiler-supported language baseline is
|
||||
`1.0.0-beta`; `1.0.0-beta.1` adds tooling/install hardening without changing
|
||||
these source-language fixtures. `1.0.0-beta.2` adds beta-scoped
|
||||
runtime/resource foundation APIs. Current `main` after `1.0.0-beta.2` also
|
||||
adds the generated stdlib API catalog and the checked
|
||||
`projects/stdlib-composition/` example. The language baseline absorbs the final
|
||||
exp-125 unsigned precursor scope alongside the already promoted project/package,
|
||||
stdlib-source, collection, composite-data, formatter, and diagnostics surface.
|
||||
runtime/resource foundation APIs. `1.0.0-beta.3` adds the generated stdlib API
|
||||
catalog and the checked `projects/stdlib-composition/` example. The language
|
||||
baseline absorbs the final exp-125 unsigned precursor scope alongside the
|
||||
already promoted project/package, stdlib-source, collection, composite-data,
|
||||
formatter, and diagnostics surface.
|
||||
|
||||
`supported/add.slo` is the current executable promotion fixture. Glagol can parse it,
|
||||
lower it, type-check it, emit LLVM for it, and cover that output with an automated
|
||||
|
||||
Binary file not shown.
@ -5,16 +5,17 @@
|
||||
Sanjin Gumbarevic<br>
|
||||
hermeticum_lab@protonmail.com
|
||||
|
||||
Publication release: `1.0.0-beta.2`
|
||||
Publication release: `1.0.0-beta.3`
|
||||
|
||||
Technical behavior baseline: compiler and language support through
|
||||
`1.0.0-beta`; tooling and install workflow through `1.0.0-beta.1`;
|
||||
runtime/resource foundation through `1.0.0-beta.2`
|
||||
runtime/resource foundation through `1.0.0-beta.2`; standard-library
|
||||
stabilization through `1.0.0-beta.3`
|
||||
|
||||
Date: 2026-05-22
|
||||
|
||||
Evidence source: paired local Slovo/Glagol monorepo verification and benchmark
|
||||
reruns from a local checkout; beta.2 release-gate verification from the public
|
||||
reruns from a local checkout; beta.3 release-gate verification from the public
|
||||
monorepo
|
||||
|
||||
Maturity: beta
|
||||
@ -26,16 +27,17 @@ Slovo. It exists to make the language support boundary inspectable: tokens,
|
||||
S-expression tree, AST, typed AST, LLVM IR, hosted native executable, tests,
|
||||
diagnostics, and release documents should agree.
|
||||
|
||||
The current publication release, `1.0.0-beta.2`, keeps the first real
|
||||
The current publication release, `1.0.0-beta.3`, keeps the first real
|
||||
general-purpose beta toolchain baseline from `1.0.0-beta` and records the
|
||||
first post-beta tooling/install hardening update plus the first
|
||||
runtime/resource foundation update. The beta baseline includes
|
||||
runtime/resource foundation update plus the first standard-library
|
||||
stabilization update. The beta baseline includes
|
||||
the completed `u32` / `u64` unsigned compiler and stdlib breadth scope
|
||||
alongside the current nine-kernel benchmark suite. This paper records the
|
||||
current beta implementation surface, the benchmark method and results, the
|
||||
distinction between Glagol and Lisp-family implementations, the beta.1 tooling
|
||||
update, the beta.2 runtime/resource foundation, and the compiler path from beta
|
||||
to stable.
|
||||
update, the beta.2 runtime/resource foundation, the beta.3 standard-library
|
||||
stabilization slice, and the compiler path from beta to stable.
|
||||
|
||||
## 1. Compiler Thesis
|
||||
|
||||
@ -119,7 +121,7 @@ At the current technical behavior beta baseline, Glagol supports:
|
||||
- benchmark scaffolds for Slovo, C, Rust, Python, Clojure, and Common
|
||||
Lisp/SBCL, with `cold-process` and `hot-loop` timing modes
|
||||
|
||||
The current release, `1.0.0-beta.2`, is a beta runtime/resource foundation
|
||||
The current release, `1.0.0-beta.3`, is a beta standard-library stabilization
|
||||
update on the first release line that may honestly use beta maturity language
|
||||
for this toolchain.
|
||||
|
||||
@ -278,7 +280,8 @@ python3 benchmarks/vec-string-eq-loop/run.py --mode cold-process --repeats 3 --w
|
||||
|
||||
The benchmark rows below remain the full-suite `1.0.0-beta` publication
|
||||
baseline. `1.0.0-beta.1` changes tooling and install workflow, and
|
||||
`1.0.0-beta.2` adds runtime/resource APIs; neither release claims changed
|
||||
`1.0.0-beta.2` adds runtime/resource APIs. `1.0.0-beta.3` adds standard-library
|
||||
catalog and composition coverage. None of these post-beta slices claims changed
|
||||
benchmark performance.
|
||||
|
||||
The exp-123 publication baseline widened the paired same-machine result set
|
||||
@ -367,12 +370,12 @@ coverage and compatibility:
|
||||
- package behavior becoming stable before dependency, manifest, and versioning
|
||||
rules are precise
|
||||
|
||||
## 9. Path Beyond `1.0.0-beta.2`
|
||||
## 9. Path Beyond `1.0.0-beta.3`
|
||||
|
||||
Glagol now implements the first real beta Slovo contract, the first
|
||||
post-beta tooling/install hardening release, and the first runtime/resource
|
||||
foundation release. The remaining path is from beta
|
||||
to stable.
|
||||
post-beta tooling/install hardening release, the first runtime/resource
|
||||
foundation release, and the first standard-library stabilization release. The
|
||||
remaining path is from beta to stable.
|
||||
|
||||
Recommended compiler sequence:
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -5,16 +5,16 @@
|
||||
Sanjin Gumbarevic<br>
|
||||
hermeticum_lab@protonmail.com
|
||||
|
||||
Publication release: `1.0.0-beta.2`
|
||||
Publication release: `1.0.0-beta.3`
|
||||
|
||||
Technical behavior baseline: language surface through `1.0.0-beta`; tooling
|
||||
and install workflow through `1.0.0-beta.1`; runtime/resource foundation through
|
||||
`1.0.0-beta.2`
|
||||
`1.0.0-beta.2`; standard-library stabilization through `1.0.0-beta.3`
|
||||
|
||||
Date: 2026-05-22
|
||||
|
||||
Evidence source: paired local Slovo/Glagol monorepo verification and benchmark
|
||||
reruns from a local checkout; beta.2 release-gate verification from the public
|
||||
reruns from a local checkout; beta.3 release-gate verification from the public
|
||||
monorepo
|
||||
|
||||
Maturity: beta
|
||||
@ -29,23 +29,25 @@ explicit types, explicit failure through `option` and `result`, lexical
|
||||
`unsafe`, and native compilation through the Glagol compiler to LLVM IR and
|
||||
hosted executables.
|
||||
|
||||
The current publication release, `1.0.0-beta.2`, keeps the first real
|
||||
The current publication release, `1.0.0-beta.3`, keeps the first real
|
||||
general-purpose beta language baseline from `1.0.0-beta` and records the first
|
||||
post-beta tooling/install hardening update plus the first runtime/resource
|
||||
foundation update. The beta baseline includes the
|
||||
foundation update plus the first standard-library stabilization update. The
|
||||
beta baseline includes the
|
||||
completed `u32` / `u64` unsigned scope, the staged stdlib breadth that makes
|
||||
ordinary command-line programs practical, and the current nine-kernel
|
||||
benchmark suite. This paper records the current beta technical state, the
|
||||
difference between Slovo and Lisp-family languages, the benchmark methodology,
|
||||
the beta.1 tooling update, the beta.2 runtime/resource foundation, and the
|
||||
remaining path from beta to stable.
|
||||
the beta.1 tooling update, the beta.2 runtime/resource foundation, the beta.3
|
||||
standard-library stabilization slice, and the remaining path from beta to
|
||||
stable.
|
||||
|
||||
## 1. Scope
|
||||
|
||||
This document is a technical state paper for the current beta baseline. It
|
||||
summarizes the behavior represented by the paired local Slovo and Glagol
|
||||
workspaces, with `1.0.0-beta` as the current language-surface baseline and
|
||||
`1.0.0-beta.1` as the current publication/tooling baseline.
|
||||
`1.0.0-beta.3` as the current publication baseline.
|
||||
|
||||
The support rule remains strict:
|
||||
|
||||
@ -57,7 +59,7 @@ The support rule remains strict:
|
||||
- partial parser recognition or speculative examples do not count as support
|
||||
|
||||
Historical `exp-*` releases remain experimental alpha maturity. The current
|
||||
publication accompanies `1.0.0-beta.1`.
|
||||
publication accompanies `1.0.0-beta.3`.
|
||||
|
||||
## 2. Design Thesis
|
||||
|
||||
@ -355,7 +357,8 @@ python3 benchmarks/vec-string-eq-loop/run.py --mode cold-process --repeats 3 --w
|
||||
|
||||
The benchmark rows below remain the full-suite `1.0.0-beta` publication
|
||||
baseline. `1.0.0-beta.1` changes tooling and install workflow, and
|
||||
`1.0.0-beta.2` adds runtime/resource APIs; neither release claims changed
|
||||
`1.0.0-beta.2` adds runtime/resource APIs. `1.0.0-beta.3` adds standard-library
|
||||
catalog and composition coverage. None of these post-beta slices claims changed
|
||||
benchmark performance.
|
||||
|
||||
The exp-123 publication baseline widened the paired same-machine result set
|
||||
@ -477,13 +480,14 @@ Major remaining gaps before `1.0.0`:
|
||||
- semantic versioning and deprecation policy
|
||||
- a clear separation between stable and experimental features
|
||||
|
||||
## 10. Path Beyond `1.0.0-beta.2`
|
||||
## 10. Path Beyond `1.0.0-beta.3`
|
||||
|
||||
The beta threshold is now real. The next work should treat `1.0.0-beta` as
|
||||
the language compatibility-governed baseline, `1.0.0-beta.1` as the first
|
||||
tooling/install hardening point, and `1.0.0-beta.2` as the first
|
||||
runtime/resource foundation point, then move deliberately toward stable
|
||||
general-purpose status.
|
||||
tooling/install hardening point, `1.0.0-beta.2` as the first runtime/resource
|
||||
foundation point, and `1.0.0-beta.3` as the first standard-library
|
||||
stabilization point, then move deliberately toward stable general-purpose
|
||||
status.
|
||||
|
||||
Recommended sequence:
|
||||
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user