Release 1.0.0-beta.2

This commit is contained in:
sanjin 2026-05-22 12:27:24 +02:00
parent bbcdf01ce3
commit 7e628995a1
19 changed files with 118 additions and 87 deletions

View File

@ -1,7 +1,7 @@
# Beta.2 Runtime Resource Foundation Scope # Beta.2 Runtime Resource Foundation Scope
This file tracks the first post-`1.0.0-beta.1` runtime/resource foundation This file tracks the first post-`1.0.0-beta.1` runtime/resource foundation
slice. It is main-branch work intended for a future `1.0.0-beta.2` bundle. slice released as `1.0.0-beta.2`.
## Implemented In This Slice ## Implemented In This Slice
@ -57,4 +57,4 @@ slice. It is main-branch work intended for a future `1.0.0-beta.2` bundle.
- focused resource/host tests must pass - focused resource/host tests must pass
- focused `std.fs` source facade tests must pass - focused `std.fs` source facade tests must pass
- promotion-gate std facade alignment must pass - promotion-gate std facade alignment must pass
- full release gate must pass before tagging `1.0.0-beta.2` - full release gate passed before tagging `1.0.0-beta.2`

View File

@ -21,7 +21,7 @@ implementation scope.
1. Harden monorepo release tooling, install flow, and common build/run loops 1. Harden monorepo release tooling, install flow, and common build/run loops
(`1.0.0-beta.1`). (`1.0.0-beta.1`).
2. Define runtime resource and host-error policy before broad IO and 2. Define runtime resource and host-error policy before broad IO and
networking (in progress after `1.0.0-beta.1` with read-only text file networking (released in `1.0.0-beta.2` with read-only text file
handles plus narrow filesystem status and mutation calls). handles plus narrow filesystem status and mutation calls).
3. Stabilize `lib/std` module boundaries and document beta-vs-stable APIs. 3. Stabilize `lib/std` module boundaries and document beta-vs-stable APIs.
4. Improve language usability around entry points, `match`, aliases, and 4. Improve language usability around entry points, `match`, aliases, and

View File

@ -6,7 +6,7 @@ This repository is the canonical public monorepo for the language design,
standard library source, compiler, runtime, examples, benchmarks, and technical standard library source, compiler, runtime, examples, benchmarks, and technical
documents. documents.
Current release: `1.0.0-beta.1`. Current release: `1.0.0-beta.2`.
## Repository Layout ## Repository Layout
@ -24,9 +24,10 @@ scripts/ local release and document tooling
## Beta Scope ## Beta Scope
`1.0.0-beta.1` keeps the `1.0.0-beta` language baseline and adds the first `1.0.0-beta.2` keeps the `1.0.0-beta` language baseline, includes the
post-beta tooling/install hardening slice. The language baseline supports `1.0.0-beta.1` tooling/install hardening slice, and adds the first
practical local command-line programs and libraries with: runtime/resource foundation bundle. The language baseline supports practical
local command-line programs and libraries with:
- modules, explicit imports, packages, and local workspaces - modules, explicit imports, packages, and local workspaces
- `new`, `check`, `fmt`, `test`, `doc`, and `build` - `new`, `check`, `fmt`, `test`, `doc`, and `build`
@ -113,10 +114,9 @@ can still override standard-library search, `SLOVO_RUNTIME_C` or
`GLAGOL_RUNTIME_C` can override the runtime C input, and `GLAGOL_CLANG` can `GLAGOL_RUNTIME_C` can override the runtime C input, and `GLAGOL_CLANG` can
select the Clang-compatible compiler. select the Clang-compatible compiler.
## Main Branch After 1.0.0-beta.1 ## 1.0.0-beta.2 Runtime Resource Foundation
The main branch now contains unreleased runtime/resource foundation work for a The `1.0.0-beta.2` release adds beta-scoped runtime/resource foundation work:
future `1.0.0-beta.2` bundle:
- `std.fs.open_text_read_result` - `std.fs.open_text_read_result`
- `std.fs.read_open_text_result` - `std.fs.read_open_text_result`

2
compiler/Cargo.lock generated
View File

@ -4,4 +4,4 @@ version = 3
[[package]] [[package]]
name = "glagol" name = "glagol"
version = "1.0.0-beta.1" version = "1.0.0-beta.2"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "glagol" name = "glagol"
version = "1.0.0-beta.1" version = "1.0.0-beta.2"
edition = "2021" edition = "2021"
description = "Glagol, the first compiler for the Slovo language" description = "Glagol, the first compiler for the Slovo language"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"

View File

@ -58,10 +58,10 @@ Work:
- add runtime conformance tests for cleanup paths - add runtime conformance tests for cleanup paths
- document that resource handles are beta values, not stable ABI promises - document that resource handles are beta values, not stable ABI promises
Current main-branch progress after `1.0.0-beta.1`: read-only text file Released in `1.0.0-beta.2`: read-only text file resource handles are
resource handles are implemented with `std.fs.open_text_read_result`, implemented with `std.fs.open_text_read_result`,
`std.fs.read_open_text_result`, and `std.fs.close_result`. The same beta.2-pre `std.fs.read_open_text_result`, and `std.fs.close_result`. The same release
line also includes narrow filesystem status and mutation calls: also includes narrow filesystem status and mutation calls:
`std.fs.exists`, `std.fs.is_file`, `std.fs.is_dir`, `std.fs.exists`, `std.fs.is_file`, `std.fs.is_dir`,
`std.fs.remove_file_result`, and `std.fs.create_dir_result`. Matching `std.fs.remove_file_result`, and `std.fs.create_dir_result`. Matching
`lib/std/fs.slo` facades and focused runtime tests are in place. Writable `lib/std/fs.slo` facades and focused runtime tests are in place. Writable

View File

@ -10,8 +10,19 @@ integration/readiness release, not the first real beta.
## Unreleased ## Unreleased
Main currently contains the first runtime/resource foundation slice intended No unreleased changes yet.
for a future `1.0.0-beta.2` bundle:
## 1.0.0-beta.2
Release label: `1.0.0-beta.2`
Release date: 2026-05-22
Release state: runtime/resource foundation beta update
### Summary
Glagol `1.0.0-beta.2` contains the first runtime/resource foundation slice:
- Glagol recognizes `std.fs.open_text_read_result`, - Glagol recognizes `std.fs.open_text_read_result`,
`std.fs.read_open_text_result`, `std.fs.close_result`, `std.fs.exists`, `std.fs.read_open_text_result`, `std.fs.close_result`, `std.fs.exists`,

View File

@ -22,13 +22,11 @@ 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. 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.1`, released on 2026-05-22 as the first post-beta Current stage: `1.0.0-beta.2`, released on 2026-05-22 as the first post-beta
tooling hardening update. It keeps the `1.0.0-beta` language/compiler support runtime/resource foundation update. It keeps the `1.0.0-beta` language/compiler
baseline, which integrates the completed unsigned `u32`/`u64` compiler and support baseline and includes the `1.0.0-beta.1` tooling hardening release plus
stdlib breadth scope from `exp-125` with the already promoted project/package beta-scoped `std.fs` resource handles, filesystem status checks, file removal,
workflow, explicit std-source imports, concrete vector families, fixed arrays, and single-directory creation.
structs, enums, result/option, generated docs, formatter behavior, and
structured diagnostics.
The final experimental precursor scope is `exp-125`. Its unsigned direct-value The final experimental precursor scope is `exp-125`. Its unsigned direct-value
flow, parse/format runtime lanes, and matching staged stdlib helper breadth flow, parse/format runtime lanes, and matching staged stdlib helper breadth

View File

@ -8,14 +8,27 @@ 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 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. experimental integration/readiness release, not as a beta maturity claim.
The current release is `1.0.0-beta.1`, published on 2026-05-22. It keeps the The current release is `1.0.0-beta.2`, published on 2026-05-22. It keeps the
`1.0.0-beta` language surface and adds the first post-beta tooling/install `1.0.0-beta` language surface, includes the first post-beta tooling/install
hardening bundle. hardening bundle from `1.0.0-beta.1`, and adds the first runtime/resource
foundation bundle.
## Unreleased ## Unreleased
Main currently contains the first runtime/resource foundation slice intended No unreleased changes yet.
for a future `1.0.0-beta.2` bundle:
## 1.0.0-beta.2
Release label: `1.0.0-beta.2`
Release name: Runtime Resource Foundation Bundle
Release date: 2026-05-22
Status: released beta runtime/resource foundation update on the `1.0.0-beta`
language baseline.
`1.0.0-beta.2` contains the first runtime/resource foundation slice:
- `std.fs.open_text_read_result : (string) -> (result i32 i32)` opens a - `std.fs.open_text_read_result : (string) -> (result i32 i32)` opens a
read-only text file and returns an opaque positive `i32` handle read-only text file and returns an opaque positive `i32` handle
@ -33,10 +46,10 @@ for a future `1.0.0-beta.2` bundle:
`read_text_via_handle_result`, `close_ok`, status helpers, and narrow `read_text_via_handle_result`, `close_ok`, status helpers, and narrow
file/directory mutation helpers file/directory mutation helpers
This unreleased slice keeps handles beta-scoped. It does not add writable This release keeps handles beta-scoped. It does not add writable handles,
handles, binary IO, directory handles, directory enumeration, recursive binary IO, directory handles, directory enumeration, recursive filesystem
filesystem operations, process handles, sockets, async IO, platform error operations, process handles, sockets, async IO, platform error codes, rich
codes, rich host-error ADTs, or stable handle ABI/layout promises. host-error ADTs, or stable handle ABI/layout promises.
## 1.0.0-beta.1 ## 1.0.0-beta.1

View File

@ -10,13 +10,11 @@ Long-horizon planning lives in
release train from the historical `v2.0.0-beta.1` tag toward and beyond the release train from the historical `v2.0.0-beta.1` tag toward and beyond the
first real general-purpose beta Slovo contract. first real general-purpose beta Slovo contract.
Current stage: `1.0.0-beta.1`, released on 2026-05-22 as the first post-beta Current stage: `1.0.0-beta.2`, released on 2026-05-22 as the first post-beta
tooling hardening update. It keeps the `1.0.0-beta` language contract, which runtime/resource foundation update. It keeps the `1.0.0-beta` language
integrates the completed unsigned `u32`/`u64` numeric and staged-stdlib breadth contract and includes the `1.0.0-beta.1` tooling hardening release plus
scope from `exp-125` with the already promoted project/package workflow, beta-scoped `std.fs` resource handles, filesystem status checks, file removal,
explicit std-source imports, concrete vector families, fixed arrays, structs, and single-directory creation.
enums, result/option, generated docs, formatter behavior, and structured
diagnostics.
The final experimental precursor scope is `exp-125`, defined in The final experimental precursor scope is `exp-125`, defined in
`.llm/EXP_125_UNSIGNED_U32_U64_NUMERIC_AND_STDLIB_BREADTH_ALPHA.md`. Its `.llm/EXP_125_UNSIGNED_U32_U64_NUMERIC_AND_STDLIB_BREADTH_ALPHA.md`. Its

View File

@ -1,7 +1,8 @@
# Slovo v1 Specification # Slovo v1 Specification
Status: living beta contract for `1.0.0-beta`, with the post-beta Status: living beta contract for `1.0.0-beta`, with the post-beta
`1.0.0-beta.1` tooling/install update. The language contract integrates `1.0.0-beta.1` tooling/install update and `1.0.0-beta.2` runtime/resource
foundation update. The language contract integrates
promoted language slices through `exp-125` and the historical publication promoted language slices through `exp-125` and the historical publication
baseline through `exp-123`. `1.0.0-beta` is the first real general-purpose baseline through `exp-123`. `1.0.0-beta` is the first real general-purpose
beta release. `exp-125` completed the unsigned numeric and stdlib breadth beta release. `exp-125` completed the unsigned numeric and stdlib breadth
@ -971,9 +972,8 @@ runtime C input for native builds.
### 4.4.2 Runtime Resource Foundation Additions ### 4.4.2 Runtime Resource Foundation Additions
Post-`1.0.0-beta.1` main adds the first beta resource-handle foundation for `1.0.0-beta.2` adds the first beta resource-handle foundation for
read-only text files. This is intended for a future `1.0.0-beta.2` bundle and read-only text files. It does not change source syntax.
does not change source syntax.
`std.fs.open_text_read_result <path>` has signature `std.fs.open_text_read_result <path>` has signature
`(string) -> (result i32 i32)`. Success returns `ok handle`, where `handle` is `(string) -> (result i32 i32)`. Success returns `ok handle`, where `handle` is
@ -988,7 +988,7 @@ handle and returns `ok text`. Invalid, closed, or failed reads return `err 1`.
`(i32) -> (result i32 i32)`. Success closes the handle and returns `ok 0`. `(i32) -> (result i32 i32)`. Success closes the handle and returns `ok 0`.
Invalid, already closed, or failed close operations return `err 1`. Invalid, already closed, or failed close operations return `err 1`.
The same beta.2-pre runtime foundation adds narrow filesystem status and The same `1.0.0-beta.2` runtime foundation adds narrow filesystem status and
mutation calls: mutation calls:
```text ```text

View File

@ -15,10 +15,10 @@ does not add source syntax, runtime APIs, standard library functions, manifest
schema versions, ABI/layout promises, runtime headers/libraries, or beta schema versions, ABI/layout promises, runtime headers/libraries, or beta
maturity. maturity.
Post-`1.0.0-beta.1` main-branch work adds the first runtime resource `1.0.0-beta.2` adds the first runtime resource foundation calls for read-only
foundation calls for read-only text file handles. These calls use the existing text file handles and narrow filesystem status/mutation operations. These calls
concrete `result` families and are intended for a future `1.0.0-beta.2` use the existing concrete `result` families where host failures need to be
bundle. Handles are positive opaque `i32` process-local tokens, not stable observable. Handles are positive opaque `i32` process-local tokens, not stable
file descriptors or ABI values. file descriptors or ABI values.
The exp-era catalog is closed to names promoted through exp-101. exp-29, The exp-era catalog is closed to names promoted through exp-101. exp-29,
@ -89,14 +89,14 @@ source-level result helper names are the `std.result.*` names cataloged below.
| `std.env.get_result` | `(string) -> (result string i32)` | exp-10 | `examples/supported/host-io-result.slo` | Returns `ok` with environment value when present, or `err 1` when missing. | Uses existing standard-runtime usage recording if present; no exp-10-specific schema field. | Rich host error ADTs, env mutation/enumeration, platform codes. | | `std.env.get_result` | `(string) -> (result string i32)` | exp-10 | `examples/supported/host-io-result.slo` | Returns `ok` with environment value when present, or `err 1` when missing. | Uses existing standard-runtime usage recording if present; no exp-10-specific schema field. | Rich host error ADTs, env mutation/enumeration, platform codes. |
| `std.fs.read_text_result` | `(string) -> (result string i32)` | exp-10 | `examples/supported/host-io-result.slo` | Returns `ok` with file contents on success, or `err 1` on ordinary host read failure. | Uses existing standard-runtime usage recording if present; no exp-10-specific schema field. | Binary, directory, streaming, async APIs, rich host error ADTs. | | `std.fs.read_text_result` | `(string) -> (result string i32)` | exp-10 | `examples/supported/host-io-result.slo` | Returns `ok` with file contents on success, or `err 1` on ordinary host read failure. | Uses existing standard-runtime usage recording if present; no exp-10-specific schema field. | Binary, directory, streaming, async APIs, rich host error ADTs. |
| `std.fs.write_text_result` | `(string, string) -> (result i32 i32)` | exp-10 | `examples/supported/host-io-result.slo` | Returns `ok 0` on success, or `err 1` on ordinary host write failure. | Uses existing standard-runtime usage recording if present; no exp-10-specific schema field. | Binary, directory, streaming, async APIs, rich host error ADTs. | | `std.fs.write_text_result` | `(string, string) -> (result i32 i32)` | exp-10 | `examples/supported/host-io-result.slo` | Returns `ok 0` on success, or `err 1` on ordinary host write failure. | Uses existing standard-runtime usage recording if present; no exp-10-specific schema field. | Binary, directory, streaming, async APIs, rich host error ADTs. |
| `std.fs.exists` | `(string) -> bool` | post-`1.0.0-beta.1` main | `examples/projects/std-layout-local-fs` | Returns `true` when host metadata lookup succeeds for the path, otherwise `false`. | Uses existing standard-runtime usage recording if present; no schema change. | Rich host errors, symlink policy, permissions detail, stable platform metadata model. | | `std.fs.exists` | `(string) -> bool` | `1.0.0-beta.2` | `examples/projects/std-layout-local-fs` | Returns `true` when host metadata lookup succeeds for the path, otherwise `false`. | Uses existing standard-runtime usage recording if present; no schema change. | Rich host errors, symlink policy, permissions detail, stable platform metadata model. |
| `std.fs.is_file` | `(string) -> bool` | post-`1.0.0-beta.1` main | `examples/projects/std-layout-local-fs` | Returns `true` when the path exists and host metadata classifies it as a regular file. | Uses existing standard-runtime usage recording if present; no schema change. | Rich metadata, symlink policy, stable platform file-kind model. | | `std.fs.is_file` | `(string) -> bool` | `1.0.0-beta.2` | `examples/projects/std-layout-local-fs` | Returns `true` when the path exists and host metadata classifies it as a regular file. | Uses existing standard-runtime usage recording if present; no schema change. | Rich metadata, symlink policy, stable platform file-kind model. |
| `std.fs.is_dir` | `(string) -> bool` | post-`1.0.0-beta.1` main | `examples/projects/std-layout-local-fs` | Returns `true` when the path exists and host metadata classifies it as a directory. | Uses existing standard-runtime usage recording if present; no schema change. | Directory handles, enumeration, recursive traversal, symlink policy, stable platform file-kind model. | | `std.fs.is_dir` | `(string) -> bool` | `1.0.0-beta.2` | `examples/projects/std-layout-local-fs` | Returns `true` when the path exists and host metadata classifies it as a directory. | Uses existing standard-runtime usage recording if present; no schema change. | Directory handles, enumeration, recursive traversal, symlink policy, stable platform file-kind model. |
| `std.fs.remove_file_result` | `(string) -> (result i32 i32)` | post-`1.0.0-beta.1` main | `examples/projects/std-layout-local-fs` | Removes one file; success returns `ok 0`, while ordinary host failure returns `err 1`. | Uses existing standard-runtime usage recording if present; no schema change. | Recursive removal, directory removal, rich host errors, platform-specific error codes. | | `std.fs.remove_file_result` | `(string) -> (result i32 i32)` | `1.0.0-beta.2` | `examples/projects/std-layout-local-fs` | Removes one file; success returns `ok 0`, while ordinary host failure returns `err 1`. | Uses existing standard-runtime usage recording if present; no schema change. | Recursive removal, directory removal, rich host errors, platform-specific error codes. |
| `std.fs.create_dir_result` | `(string) -> (result i32 i32)` | post-`1.0.0-beta.1` main | `examples/projects/std-layout-local-fs` | Creates one directory; success returns `ok 0`, while existing paths or ordinary host failure return `err 1`. | Uses existing standard-runtime usage recording if present; no schema change. | Recursive creation, permissions/mode policy, directory handles, rich host errors, platform-specific error codes. | | `std.fs.create_dir_result` | `(string) -> (result i32 i32)` | `1.0.0-beta.2` | `examples/projects/std-layout-local-fs` | Creates one directory; success returns `ok 0`, while existing paths or ordinary host failure return `err 1`. | Uses existing standard-runtime usage recording if present; no schema change. | Recursive creation, permissions/mode policy, directory handles, rich host errors, platform-specific error codes. |
| `std.fs.open_text_read_result` | `(string) -> (result i32 i32)` | post-`1.0.0-beta.1` main | `examples/projects/std-layout-local-fs` | Opens a text file for read-only resource-handle flow; success returns `ok handle` where `handle` is a positive opaque process-local `i32`, and ordinary open or handle-table failure returns `err 1`. | Uses existing standard-runtime usage recording if present; no schema change. | Writable handles, binary IO, directory handles, process handles, sockets, async IO, platform-specific error codes, stable handle ABI/layout. | | `std.fs.open_text_read_result` | `(string) -> (result i32 i32)` | `1.0.0-beta.2` | `examples/projects/std-layout-local-fs` | Opens a text file for read-only resource-handle flow; success returns `ok handle` where `handle` is a positive opaque process-local `i32`, and ordinary open or handle-table failure returns `err 1`. | Uses existing standard-runtime usage recording if present; no schema change. | Writable handles, binary IO, directory handles, process handles, sockets, async IO, platform-specific error codes, stable handle ABI/layout. |
| `std.fs.read_open_text_result` | `(i32) -> (result string i32)` | post-`1.0.0-beta.1` main | `examples/projects/std-layout-local-fs` | Reads remaining text from an open read handle; success returns `ok text`, while invalid, closed, or failed reads return `err 1`. | Uses existing standard-runtime usage recording if present; no schema change. | Chunked reads, seek, buffering controls, binary IO, async IO, platform-specific error codes, stable handle ABI/layout. | | `std.fs.read_open_text_result` | `(i32) -> (result string i32)` | `1.0.0-beta.2` | `examples/projects/std-layout-local-fs` | Reads remaining text from an open read handle; success returns `ok text`, while invalid, closed, or failed reads return `err 1`. | Uses existing standard-runtime usage recording if present; no schema change. | Chunked reads, seek, buffering controls, binary IO, async IO, platform-specific error codes, stable handle ABI/layout. |
| `std.fs.close_result` | `(i32) -> (result i32 i32)` | post-`1.0.0-beta.1` main | `examples/projects/std-layout-local-fs` | Closes an open resource handle; success returns `ok 0`, while invalid, closed, or failed close operations return `err 1`. | Uses existing standard-runtime usage recording if present; no schema change. | Finalizers, destructors, affine ownership, automatic cleanup, stable handle ABI/layout. | | `std.fs.close_result` | `(i32) -> (result i32 i32)` | `1.0.0-beta.2` | `examples/projects/std-layout-local-fs` | Closes an open resource handle; success returns `ok 0`, while invalid, closed, or failed close operations return `err 1`. | Uses existing standard-runtime usage recording if present; no schema change. | Finalizers, destructors, affine ownership, automatic cleanup, stable handle ABI/layout. |
| `std.random.i32` | `() -> i32` | exp-11 | `examples/supported/random.slo` | Returns a non-negative implementation-owned random `i32`; unavailable randomness traps as `slovo runtime error: random i32 unavailable`. | Uses existing standard-runtime usage recording if present; no randomness-specific schema field. | Seed APIs, crypto/security promises, ranges, bytes, floats, UUIDs, stable RNG ABI/layout. | | `std.random.i32` | `() -> i32` | exp-11 | `examples/supported/random.slo` | Returns a non-negative implementation-owned random `i32`; unavailable randomness traps as `slovo runtime error: random i32 unavailable`. | Uses existing standard-runtime usage recording if present; no randomness-specific schema field. | Seed APIs, crypto/security promises, ranges, bytes, floats, UUIDs, stable RNG ABI/layout. |
| `std.io.read_stdin_result` | `() -> (result string i32)` | exp-12 | `examples/supported/stdin-result.slo` | Reads remaining stdin as text; success returns `ok` text, ordinary EOF with no bytes returns `ok ""`, ordinary host/input failure returns `err 1`. | Uses existing standard-runtime usage recording if present; no stdin-specific schema field. | Trap stdin, line APIs, prompts, terminal mode, binary/streaming/async stdin. | | `std.io.read_stdin_result` | `() -> (result string i32)` | exp-12 | `examples/supported/stdin-result.slo` | Reads remaining stdin as text; success returns `ok` text, ordinary EOF with no bytes returns `ok ""`, ordinary host/input failure returns `err 1`. | Uses existing standard-runtime usage recording if present; no stdin-specific schema field. | Trap stdin, line APIs, prompts, terminal mode, binary/streaming/async stdin. |
| `std.string.parse_i32_result` | `(string) -> (result i32 i32)` | exp-13 | `examples/supported/string-parse-i32-result.slo` | Parses an entire ASCII decimal signed `i32`; success returns `ok` value, ordinary parse failure returns `err 1`. | Uses existing standard-runtime usage recording if present; no parse-specific schema field. | Trap parse, floats/bools/bytes, trimming, locale/radix/underscore/plus parsing, rich parse errors, Unicode digits, slicing/indexing. | | `std.string.parse_i32_result` | `(string) -> (result i32 i32)` | exp-13 | `examples/supported/string-parse-i32-result.slo` | Parses an entire ASCII decimal signed `i32`; success returns `ok` value, ordinary parse failure returns `err 1`. | Uses existing standard-runtime usage recording if present; no parse-specific schema field. | Trap parse, floats/bools/bytes, trimming, locale/radix/underscore/plus parsing, rich parse errors, Unicode digits, slicing/indexing. |

View File

@ -7,10 +7,10 @@ Examples are split by current compiler support.
Entries in this section are current compiler support under the matching Entries in this section are current compiler support under the matching
release notes. The current compiler-supported language baseline is release notes. The current compiler-supported language baseline is
`1.0.0-beta`; `1.0.0-beta.1` adds tooling/install hardening without changing `1.0.0-beta`; `1.0.0-beta.1` adds tooling/install hardening without changing
these source-language fixtures. The language baseline absorbs the final these source-language fixtures. `1.0.0-beta.2` adds beta-scoped
exp-125 unsigned precursor scope alongside the already promoted runtime/resource foundation APIs. The language baseline absorbs the final
project/package, stdlib-source, collection, composite-data, formatter, and exp-125 unsigned precursor scope alongside the already promoted project/package,
diagnostics surface. stdlib-source, collection, composite-data, formatter, and diagnostics surface.
`supported/add.slo` is the current executable promotion fixture. Glagol can parse it, `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 lower it, type-check it, emit LLVM for it, and cover that output with an automated

View File

@ -5,15 +5,16 @@
Sanjin Gumbarevic<br> Sanjin Gumbarevic<br>
hermeticum_lab@protonmail.com hermeticum_lab@protonmail.com
Publication release: `1.0.0-beta.1` Publication release: `1.0.0-beta.2`
Technical behavior baseline: compiler and language support through Technical behavior baseline: compiler and language support through
`1.0.0-beta`; tooling and install workflow through `1.0.0-beta.1` `1.0.0-beta`; tooling and install workflow through `1.0.0-beta.1`;
runtime/resource foundation through `1.0.0-beta.2`
Date: 2026-05-22 Date: 2026-05-22
Evidence source: paired local Slovo/Glagol monorepo verification and benchmark Evidence source: paired local Slovo/Glagol monorepo verification and benchmark
reruns from a local checkout; beta.1 release-gate verification from the public reruns from a local checkout; beta.2 release-gate verification from the public
monorepo monorepo
Maturity: beta Maturity: beta
@ -25,14 +26,16 @@ Slovo. It exists to make the language support boundary inspectable: tokens,
S-expression tree, AST, typed AST, LLVM IR, hosted native executable, tests, S-expression tree, AST, typed AST, LLVM IR, hosted native executable, tests,
diagnostics, and release documents should agree. diagnostics, and release documents should agree.
The current publication release, `1.0.0-beta.1`, keeps the first real The current publication release, `1.0.0-beta.2`, keeps the first real
general-purpose beta toolchain baseline from `1.0.0-beta` and records the general-purpose beta toolchain baseline from `1.0.0-beta` and records the
first post-beta tooling/install hardening update. The beta baseline includes first post-beta tooling/install hardening update plus the first
runtime/resource foundation update. The beta baseline includes
the completed `u32` / `u64` unsigned compiler and stdlib breadth scope the completed `u32` / `u64` unsigned compiler and stdlib breadth scope
alongside the current nine-kernel benchmark suite. This paper records the alongside the current nine-kernel benchmark suite. This paper records the
current beta implementation surface, the benchmark method and results, the current beta implementation surface, the benchmark method and results, the
distinction between Glagol and Lisp-family implementations, the beta.1 distinction between Glagol and Lisp-family implementations, the beta.1 tooling
tooling update, and the compiler path from beta to stable. update, the beta.2 runtime/resource foundation, and the compiler path from beta
to stable.
## 1. Compiler Thesis ## 1. Compiler Thesis
@ -116,8 +119,9 @@ At the current technical behavior beta baseline, Glagol supports:
- benchmark scaffolds for Slovo, C, Rust, Python, Clojure, and Common - benchmark scaffolds for Slovo, C, Rust, Python, Clojure, and Common
Lisp/SBCL, with `cold-process` and `hot-loop` timing modes Lisp/SBCL, with `cold-process` and `hot-loop` timing modes
The current release, `1.0.0-beta.1`, is a beta tooling update on the first The current release, `1.0.0-beta.2`, is a beta runtime/resource foundation
release that may honestly use beta maturity language for this toolchain. update on the first release line that may honestly use beta maturity language
for this toolchain.
## 4. Diagnostics And Support Discipline ## 4. Diagnostics And Support Discipline
@ -273,8 +277,9 @@ python3 benchmarks/vec-string-eq-loop/run.py --mode cold-process --repeats 3 --w
## 7. Benchmark Results ## 7. Benchmark Results
The benchmark rows below remain the full-suite `1.0.0-beta` publication The benchmark rows below remain the full-suite `1.0.0-beta` publication
baseline. `1.0.0-beta.1` changes tooling and install workflow only; it does baseline. `1.0.0-beta.1` changes tooling and install workflow, and
not claim changed benchmark performance. `1.0.0-beta.2` adds runtime/resource APIs; neither release claims changed
benchmark performance.
The exp-123 publication baseline widened the paired same-machine result set The exp-123 publication baseline widened the paired same-machine result set
from seven rows to nine by adding two owned-vector kernels: from seven rows to nine by adding two owned-vector kernels:
@ -362,10 +367,11 @@ coverage and compatibility:
- package behavior becoming stable before dependency, manifest, and versioning - package behavior becoming stable before dependency, manifest, and versioning
rules are precise rules are precise
## 9. Path Beyond `1.0.0-beta.1` ## 9. Path Beyond `1.0.0-beta.2`
Glagol now implements the first real beta Slovo contract and has a first Glagol now implements the first real beta Slovo contract, the first
post-beta tooling/install hardening release. The remaining path is from beta post-beta tooling/install hardening release, and the first runtime/resource
foundation release. The remaining path is from beta
to stable. to stable.
Recommended compiler sequence: Recommended compiler sequence:

Binary file not shown.

Binary file not shown.

View File

@ -5,15 +5,16 @@
Sanjin Gumbarevic<br> Sanjin Gumbarevic<br>
hermeticum_lab@protonmail.com hermeticum_lab@protonmail.com
Publication release: `1.0.0-beta.1` Publication release: `1.0.0-beta.2`
Technical behavior baseline: language surface through `1.0.0-beta`; tooling Technical behavior baseline: language surface through `1.0.0-beta`; tooling
and install workflow through `1.0.0-beta.1` and install workflow through `1.0.0-beta.1`; runtime/resource foundation through
`1.0.0-beta.2`
Date: 2026-05-22 Date: 2026-05-22
Evidence source: paired local Slovo/Glagol monorepo verification and benchmark Evidence source: paired local Slovo/Glagol monorepo verification and benchmark
reruns from a local checkout; beta.1 release-gate verification from the public reruns from a local checkout; beta.2 release-gate verification from the public
monorepo monorepo
Maturity: beta Maturity: beta
@ -28,14 +29,16 @@ explicit types, explicit failure through `option` and `result`, lexical
`unsafe`, and native compilation through the Glagol compiler to LLVM IR and `unsafe`, and native compilation through the Glagol compiler to LLVM IR and
hosted executables. hosted executables.
The current publication release, `1.0.0-beta.1`, keeps the first real The current publication release, `1.0.0-beta.2`, keeps the first real
general-purpose beta language baseline from `1.0.0-beta` and records the first general-purpose beta language baseline from `1.0.0-beta` and records the first
post-beta tooling/install hardening update. The beta baseline includes the post-beta tooling/install hardening update plus the first runtime/resource
foundation update. The beta baseline includes the
completed `u32` / `u64` unsigned scope, the staged stdlib breadth that makes completed `u32` / `u64` unsigned scope, the staged stdlib breadth that makes
ordinary command-line programs practical, and the current nine-kernel ordinary command-line programs practical, and the current nine-kernel
benchmark suite. This paper records the current beta technical state, the benchmark suite. This paper records the current beta technical state, the
difference between Slovo and Lisp-family languages, the benchmark methodology, difference between Slovo and Lisp-family languages, the benchmark methodology,
the beta.1 tooling update, and the remaining path from beta to stable. the beta.1 tooling update, the beta.2 runtime/resource foundation, and the
remaining path from beta to stable.
## 1. Scope ## 1. Scope
@ -351,8 +354,9 @@ python3 benchmarks/vec-string-eq-loop/run.py --mode cold-process --repeats 3 --w
## 7. Benchmark Results ## 7. Benchmark Results
The benchmark rows below remain the full-suite `1.0.0-beta` publication The benchmark rows below remain the full-suite `1.0.0-beta` publication
baseline. `1.0.0-beta.1` changes tooling and install workflow only; it does baseline. `1.0.0-beta.1` changes tooling and install workflow, and
not claim changed benchmark performance. `1.0.0-beta.2` adds runtime/resource APIs; neither release claims changed
benchmark performance.
The exp-123 publication baseline widened the paired same-machine result set The exp-123 publication baseline widened the paired same-machine result set
from seven rows to nine by adding two owned-vector kernels: from seven rows to nine by adding two owned-vector kernels:
@ -473,11 +477,12 @@ Major remaining gaps before `1.0.0`:
- semantic versioning and deprecation policy - semantic versioning and deprecation policy
- a clear separation between stable and experimental features - a clear separation between stable and experimental features
## 10. Path Beyond `1.0.0-beta.1` ## 10. Path Beyond `1.0.0-beta.2`
The beta threshold is now real. The next work should treat `1.0.0-beta` as The beta threshold is now real. The next work should treat `1.0.0-beta` as
the language compatibility-governed baseline, and `1.0.0-beta.1` as the first the language compatibility-governed baseline, `1.0.0-beta.1` as the first
tooling/install hardening point, then move deliberately toward stable 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. general-purpose status.
Recommended sequence: Recommended sequence:

Binary file not shown.