Release 1.0.0-beta.1 tooling bundle
This commit is contained in:
parent
5180f69c4c
commit
9839452476
@ -1,8 +1,8 @@
|
|||||||
# Beta.1 Tooling Hardening Scope
|
# Beta.1 Tooling Hardening Scope
|
||||||
|
|
||||||
This file tracks the first post-`1.0.0-beta` tooling bundle. It is committed on
|
This file tracks the first post-`1.0.0-beta` tooling bundle, released as
|
||||||
`main` but must not be tagged as `1.0.0-beta.1` until the connected bundle is
|
`1.0.0-beta.1`. The slice keeps the beta language surface unchanged and
|
||||||
complete and the full release gate passes near publication.
|
hardens the local compiler workflow, install layout, and release gate.
|
||||||
|
|
||||||
## Implemented In This Slice
|
## Implemented In This Slice
|
||||||
|
|
||||||
@ -34,8 +34,8 @@ complete and the full release gate passes near publication.
|
|||||||
- no operating-system package-manager integration
|
- no operating-system package-manager integration
|
||||||
- no stable install layout promise beyond this beta toolchain layout
|
- no stable install layout promise beyond this beta toolchain layout
|
||||||
|
|
||||||
## Remaining Before Tagging `1.0.0-beta.1`
|
## Release Gate
|
||||||
|
|
||||||
- rerender publication PDFs only if documentation release text changes
|
- rerender publication PDFs when documentation release text changes
|
||||||
- run the full release gate from a clean checkout state
|
- run the full release gate from a clean checkout state before tagging
|
||||||
- decide whether this tooling bundle is sufficient for the `1.0.0-beta.1` tag
|
- tag only after the connected tooling bundle and generated documents agree
|
||||||
|
|||||||
@ -18,7 +18,8 @@ The detailed post-beta feature plan lives in
|
|||||||
summary and use the public roadmap document when choosing the next connected
|
summary and use the public roadmap document when choosing the next connected
|
||||||
implementation scope.
|
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`).
|
||||||
2. Define runtime resource and host-error policy before broad IO and networking.
|
2. Define runtime resource and host-error policy before broad IO and networking.
|
||||||
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
|
||||||
|
|||||||
12
README.md
12
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
|
standard library source, compiler, runtime, examples, benchmarks, and technical
|
||||||
documents.
|
documents.
|
||||||
|
|
||||||
Current release: `1.0.0-beta`.
|
Current release: `1.0.0-beta.1`.
|
||||||
|
|
||||||
## Repository Layout
|
## Repository Layout
|
||||||
|
|
||||||
@ -24,7 +24,9 @@ scripts/ local release and document tooling
|
|||||||
|
|
||||||
## Beta Scope
|
## Beta Scope
|
||||||
|
|
||||||
`1.0.0-beta` supports practical local command-line programs and libraries with:
|
`1.0.0-beta.1` keeps the `1.0.0-beta` language baseline and adds the first
|
||||||
|
post-beta tooling/install hardening slice. 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`
|
||||||
@ -72,10 +74,10 @@ Build a native executable when Clang is available:
|
|||||||
SLOVO_STD_PATH="$PWD/lib/std" ./compiler/target/debug/glagol build hello -o hello/bin
|
SLOVO_STD_PATH="$PWD/lib/std" ./compiler/target/debug/glagol build hello -o hello/bin
|
||||||
```
|
```
|
||||||
|
|
||||||
## Post-Beta Main Additions
|
## 1.0.0-beta.1 Tooling Additions
|
||||||
|
|
||||||
The `main` branch contains unreleased tooling work intended for a future
|
The `1.0.0-beta.1` release improves the common local development and install
|
||||||
`1.0.0-beta.1` bundle.
|
loop without adding new source-language syntax.
|
||||||
|
|
||||||
Build and execute in one step:
|
Build and execute in one step:
|
||||||
|
|
||||||
|
|||||||
2
compiler/Cargo.lock
generated
2
compiler/Cargo.lock
generated
@ -4,4 +4,4 @@ version = 3
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "glagol"
|
name = "glagol"
|
||||||
version = "1.0.0-beta"
|
version = "1.0.0-beta.1"
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "glagol"
|
name = "glagol"
|
||||||
version = "1.0.0-beta"
|
version = "1.0.0-beta.1"
|
||||||
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"
|
||||||
|
|||||||
@ -36,10 +36,10 @@ Work:
|
|||||||
- make release gates print a concise final summary
|
- make release gates print a concise final summary
|
||||||
- keep PDF rendering explicit and non-mutating by default
|
- keep PDF rendering explicit and non-mutating by default
|
||||||
|
|
||||||
Current main-branch progress after `1.0.0-beta`: `glagol run`,
|
Released in `1.0.0-beta.1`: `glagol run`, `glagol clean`,
|
||||||
`glagol clean`, `glagol new --template binary|library|workspace`,
|
`glagol new --template binary|library|workspace`, `scripts/install.sh`,
|
||||||
`scripts/install.sh`, installed std/runtime discovery, README coverage,
|
installed std/runtime discovery, README coverage, focused DX tests, and a
|
||||||
focused DX tests, and a concise release-gate success line are implemented.
|
concise release-gate success line.
|
||||||
|
|
||||||
Why first: it reduces friction for every later feature and gives users a better
|
Why first: it reduces friction for every later feature and gives users a better
|
||||||
way to exercise the beta.
|
way to exercise the beta.
|
||||||
|
|||||||
@ -10,8 +10,20 @@ integration/readiness release, not the first real beta.
|
|||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
Post-beta main currently contains the first tooling-hardening slice for a
|
No changes are recorded after `1.0.0-beta.1`.
|
||||||
future `1.0.0-beta.1` bundle:
|
|
||||||
|
## 1.0.0-beta.1
|
||||||
|
|
||||||
|
Release label: `1.0.0-beta.1`
|
||||||
|
|
||||||
|
Release date: 2026-05-22
|
||||||
|
|
||||||
|
Release state: first post-beta tooling hardening release
|
||||||
|
|
||||||
|
### Summary
|
||||||
|
|
||||||
|
Glagol `1.0.0-beta.1` keeps the `1.0.0-beta` language/compiler support
|
||||||
|
baseline and releases the first tooling-hardening slice:
|
||||||
|
|
||||||
- `glagol run <file.slo|project>` compiles through the existing hosted native
|
- `glagol run <file.slo|project>` compiles through the existing hosted native
|
||||||
build path, runs the produced executable, forwards stdout/stderr, and returns
|
build path, runs the produced executable, forwards stdout/stderr, and returns
|
||||||
@ -25,8 +37,11 @@ future `1.0.0-beta.1` bundle:
|
|||||||
executable, with `SLOVO_RUNTIME_C` and `GLAGOL_RUNTIME_C` overrides
|
executable, with `SLOVO_RUNTIME_C` and `GLAGOL_RUNTIME_C` overrides
|
||||||
- the release gate prints a concise final success summary
|
- the release gate prints a concise final success summary
|
||||||
|
|
||||||
This is a toolchain workflow slice only. It does not claim a new stable ABI,
|
### Explicit Deferrals
|
||||||
runtime resource model, networking surface, or package registry.
|
|
||||||
|
This is a toolchain workflow slice only. It does not claim new source syntax,
|
||||||
|
a new stable ABI, a runtime resource model, networking surface, or package
|
||||||
|
registry.
|
||||||
|
|
||||||
## 1.0.0-beta
|
## 1.0.0-beta
|
||||||
|
|
||||||
|
|||||||
@ -22,12 +22,13 @@ 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`, released on 2026-05-21 as the first real
|
Current stage: `1.0.0-beta.1`, released on 2026-05-22 as the first post-beta
|
||||||
general-purpose beta Glagol toolchain. The beta release integrates the
|
tooling hardening update. It keeps the `1.0.0-beta` language/compiler support
|
||||||
completed unsigned `u32`/`u64` compiler and stdlib breadth scope from
|
baseline, which integrates the completed unsigned `u32`/`u64` compiler and
|
||||||
`exp-125` with the already promoted project/package workflow, explicit
|
stdlib breadth scope from `exp-125` with the already promoted project/package
|
||||||
std-source imports, concrete vector families, fixed arrays, structs, enums,
|
workflow, explicit std-source imports, concrete vector families, fixed arrays,
|
||||||
result/option, generated docs, formatter behavior, and structured diagnostics.
|
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
|
||||||
|
|||||||
@ -8,15 +8,25 @@ 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`, published on 2026-05-21. It absorbs the
|
The current release is `1.0.0-beta.1`, published on 2026-05-22. It keeps the
|
||||||
final unsigned precursor scope from `exp-125` and promotes the current
|
`1.0.0-beta` language surface and adds the first post-beta tooling/install
|
||||||
project/package, stdlib-source, collection, composite-data, diagnostics,
|
hardening bundle.
|
||||||
formatter, docs, and governance surface to beta maturity.
|
|
||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
Post-beta main currently contains tooling hardening intended for a future
|
No changes are recorded after `1.0.0-beta.1`.
|
||||||
`1.0.0-beta.1` bundle:
|
|
||||||
|
## 1.0.0-beta.1
|
||||||
|
|
||||||
|
Release label: `1.0.0-beta.1`
|
||||||
|
|
||||||
|
Release name: First Post-Beta Tooling Hardening Bundle
|
||||||
|
|
||||||
|
Release date: 2026-05-22
|
||||||
|
|
||||||
|
Status: released beta tooling update on the `1.0.0-beta` language baseline.
|
||||||
|
|
||||||
|
`1.0.0-beta.1` contains tooling hardening only:
|
||||||
|
|
||||||
- `glagol run <file.slo|project>` builds and executes through the hosted native
|
- `glagol run <file.slo|project>` builds and executes through the hosted native
|
||||||
toolchain using `.slovo/build` when `-o` is not provided
|
toolchain using `.slovo/build` when `-o` is not provided
|
||||||
@ -30,7 +40,7 @@ Post-beta main currently contains tooling hardening intended for a future
|
|||||||
overrides still available
|
overrides still available
|
||||||
- the release gate prints a concise final success line after all checks pass
|
- the release gate prints a concise final success line after all checks pass
|
||||||
|
|
||||||
This unreleased slice does not add source-language syntax, stable ABI/layout
|
This beta.1 slice does not add source-language syntax, stable ABI/layout
|
||||||
guarantees, networking, package registry behavior, or a stable standard-library
|
guarantees, networking, package registry behavior, or a stable standard-library
|
||||||
freeze.
|
freeze.
|
||||||
|
|
||||||
|
|||||||
@ -10,12 +10,13 @@ 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`, released on 2026-05-21 as the first real
|
Current stage: `1.0.0-beta.1`, released on 2026-05-22 as the first post-beta
|
||||||
general-purpose beta Slovo contract. The beta release integrates the completed
|
tooling hardening update. It keeps the `1.0.0-beta` language contract, which
|
||||||
unsigned `u32`/`u64` numeric and staged-stdlib breadth scope from `exp-125`
|
integrates the completed unsigned `u32`/`u64` numeric and staged-stdlib breadth
|
||||||
with the already promoted project/package workflow, explicit std-source
|
scope from `exp-125` with the already promoted project/package workflow,
|
||||||
imports, concrete vector families, fixed arrays, structs, enums, result/
|
explicit std-source imports, concrete vector families, fixed arrays, structs,
|
||||||
option, generated docs, formatter behavior, and structured diagnostics.
|
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
|
||||||
|
|||||||
@ -1,13 +1,15 @@
|
|||||||
# Slovo v1 Specification
|
# Slovo v1 Specification
|
||||||
|
|
||||||
Status: living beta contract for `1.0.0-beta`, integrating promoted language
|
Status: living beta contract for `1.0.0-beta`, with the post-beta
|
||||||
slices through `exp-125` and the historical publication baseline through
|
`1.0.0-beta.1` tooling/install update. The language contract integrates
|
||||||
`exp-123`. `1.0.0-beta` is the first real general-purpose beta release.
|
promoted language slices through `exp-125` and the historical publication
|
||||||
`exp-125` completed the unsigned numeric and stdlib breadth precursor scope,
|
baseline through `exp-123`. `1.0.0-beta` is the first real general-purpose
|
||||||
`exp-124` is the last tagged experimental alpha language contract before beta,
|
beta release. `exp-125` completed the unsigned numeric and stdlib breadth
|
||||||
and `exp-123` is the last tagged experimental documentation/tooling contract
|
precursor scope, `exp-124` is the last tagged experimental alpha language
|
||||||
before beta. `1.0.0-beta` includes direct `u32` and `u64` value flow, decimal
|
contract before beta, and `exp-123` is the last tagged experimental
|
||||||
suffixed literals `42u32` / `42u64`, same-type unsigned
|
documentation/tooling contract before beta. `1.0.0-beta` includes direct
|
||||||
|
`u32` and `u64` value flow, decimal suffixed literals `42u32` / `42u64`,
|
||||||
|
same-type unsigned
|
||||||
arithmetic/comparison, unsigned print/format/parse-result runtime lanes, and
|
arithmetic/comparison, unsigned print/format/parse-result runtime lanes, and
|
||||||
matching staged stdlib helper parity alongside the previously promoted
|
matching staged stdlib helper parity alongside the previously promoted
|
||||||
project/package, collection, composite-data, docs, and diagnostics surface.
|
project/package, collection, composite-data, docs, and diagnostics surface.
|
||||||
@ -934,8 +936,8 @@ The normative v1.7 release contract is
|
|||||||
|
|
||||||
### 4.4.1 Post-Beta Tooling Additions
|
### 4.4.1 Post-Beta Tooling Additions
|
||||||
|
|
||||||
Post-beta main adds tooling-only conveniences intended for a future
|
`1.0.0-beta.1` adds tooling-only conveniences after the `1.0.0-beta`
|
||||||
`1.0.0-beta.1` bundle. These commands do not change source syntax or typed-core
|
language baseline. These commands do not change source syntax or typed-core
|
||||||
semantics.
|
semantics.
|
||||||
|
|
||||||
`glagol run <file.slo|project>` builds through the same hosted native path as
|
`glagol run <file.slo|project>` builds through the same hosted native path as
|
||||||
|
|||||||
@ -5,10 +5,12 @@ Examples are split by current compiler support.
|
|||||||
## Compiler-Supported Targets
|
## Compiler-Supported Targets
|
||||||
|
|
||||||
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 baseline is `1.0.0-beta`,
|
release notes. The current compiler-supported language baseline is
|
||||||
which absorbs the final exp-125 unsigned precursor scope alongside the
|
`1.0.0-beta`; `1.0.0-beta.1` adds tooling/install hardening without changing
|
||||||
already promoted project/package, stdlib-source, collection, composite-data,
|
these source-language fixtures. The language baseline absorbs the final
|
||||||
formatter, and diagnostics surface.
|
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,
|
`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
|
||||||
|
|||||||
Binary file not shown.
@ -5,15 +5,16 @@
|
|||||||
Sanjin Gumbarevic<br>
|
Sanjin Gumbarevic<br>
|
||||||
hermeticum_lab@protonmail.com
|
hermeticum_lab@protonmail.com
|
||||||
|
|
||||||
Publication release: `1.0.0-beta`
|
Publication release: `1.0.0-beta.1`
|
||||||
|
|
||||||
Technical behavior baseline: compiler and language support through
|
Technical behavior baseline: compiler and language support through
|
||||||
`1.0.0-beta`
|
`1.0.0-beta`; tooling and install workflow through `1.0.0-beta.1`
|
||||||
|
|
||||||
Date: 2026-05-21
|
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
|
reruns from a local checkout; beta.1 release-gate verification from the public
|
||||||
|
monorepo
|
||||||
|
|
||||||
Maturity: beta
|
Maturity: beta
|
||||||
|
|
||||||
@ -24,13 +25,14 @@ 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`, records the first real
|
The current publication release, `1.0.0-beta.1`, keeps the first real
|
||||||
general-purpose beta toolchain for Slovo. It includes the completed `u32` /
|
general-purpose beta toolchain baseline from `1.0.0-beta` and records the
|
||||||
`u64` unsigned compiler and stdlib breadth scope alongside the current
|
first post-beta tooling/install hardening update. The beta baseline includes
|
||||||
nine-kernel benchmark suite. This paper records the current beta
|
the completed `u32` / `u64` unsigned compiler and stdlib breadth scope
|
||||||
implementation surface, the benchmark method and results, the distinction
|
alongside the current nine-kernel benchmark suite. This paper records the
|
||||||
between Glagol and Lisp-family implementations, and the compiler path from
|
current beta implementation surface, the benchmark method and results, the
|
||||||
beta to stable.
|
distinction between Glagol and Lisp-family implementations, the beta.1
|
||||||
|
tooling update, and the compiler path from beta to stable.
|
||||||
|
|
||||||
## 1. Compiler Thesis
|
## 1. Compiler Thesis
|
||||||
|
|
||||||
@ -92,6 +94,8 @@ that Glagol is a macro-first Lisp VM or a generic list runtime.
|
|||||||
At the current technical behavior beta baseline, Glagol supports:
|
At the current technical behavior beta baseline, Glagol supports:
|
||||||
|
|
||||||
- `check`, `fmt`, `fmt --check`, `fmt --write`, `test`, `build`, and `doc`
|
- `check`, `fmt`, `fmt --check`, `fmt --write`, `test`, `build`, and `doc`
|
||||||
|
- `run` for build-and-execute workflows, `clean` for generated build
|
||||||
|
artifacts, and `new --template binary|library|workspace`
|
||||||
- JSON diagnostics, textual artifact manifests, and lowering inspection
|
- JSON diagnostics, textual artifact manifests, and lowering inspection
|
||||||
- hosted native executable generation through emitted LLVM IR, host
|
- hosted native executable generation through emitted LLVM IR, host
|
||||||
`clang -O2`, and `runtime/runtime.c`
|
`clang -O2`, and `runtime/runtime.c`
|
||||||
@ -112,8 +116,8 @@ 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`, is the first release that may honestly use
|
The current release, `1.0.0-beta.1`, is a beta tooling update on the first
|
||||||
beta maturity language for this toolchain.
|
release that may honestly use beta maturity language for this toolchain.
|
||||||
|
|
||||||
## 4. Diagnostics And Support Discipline
|
## 4. Diagnostics And Support Discipline
|
||||||
|
|
||||||
@ -159,7 +163,7 @@ Environment:
|
|||||||
| Field | Value |
|
| Field | Value |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| Host | `Linux 6.17.10-100.fc41.x86_64 x86_64 GNU/Linux` |
|
| Host | `Linux 6.17.10-100.fc41.x86_64 x86_64 GNU/Linux` |
|
||||||
| Glagol | `glagol 1.0.0-beta` |
|
| Glagol | `glagol 1.0.0-beta` benchmark baseline |
|
||||||
| Python | `Python 3.13.9` |
|
| Python | `Python 3.13.9` |
|
||||||
| C compiler | `clang version 19.1.7 (Fedora 19.1.7-5.fc41)` |
|
| C compiler | `clang version 19.1.7 (Fedora 19.1.7-5.fc41)` |
|
||||||
| Rust | `rustc 1.77.2 (25ef9e3d8 2024-04-09)` |
|
| Rust | `rustc 1.77.2 (25ef9e3d8 2024-04-09)` |
|
||||||
@ -268,7 +272,11 @@ python3 benchmarks/vec-string-eq-loop/run.py --mode cold-process --repeats 3 --w
|
|||||||
|
|
||||||
## 7. Benchmark Results
|
## 7. Benchmark Results
|
||||||
|
|
||||||
The exp-123 publication baseline widens the paired same-machine result set
|
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
|
||||||
|
not claim changed benchmark performance.
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
- `vec-i32-index-loop`
|
- `vec-i32-index-loop`
|
||||||
@ -354,11 +362,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`
|
## 9. Path Beyond `1.0.0-beta.1`
|
||||||
|
|
||||||
Glagol now implements the first real beta Slovo contract and passes the
|
Glagol now implements the first real beta Slovo contract and has a first
|
||||||
required beta workflow proof plus release gate. The remaining path is from
|
post-beta tooling/install hardening release. The remaining path is from beta
|
||||||
beta to stable.
|
to stable.
|
||||||
|
|
||||||
Recommended compiler sequence:
|
Recommended compiler sequence:
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -5,14 +5,16 @@
|
|||||||
Sanjin Gumbarevic<br>
|
Sanjin Gumbarevic<br>
|
||||||
hermeticum_lab@protonmail.com
|
hermeticum_lab@protonmail.com
|
||||||
|
|
||||||
Publication release: `1.0.0-beta`
|
Publication release: `1.0.0-beta.1`
|
||||||
|
|
||||||
Technical behavior baseline: language surface through `1.0.0-beta`
|
Technical behavior baseline: language surface through `1.0.0-beta`; tooling
|
||||||
|
and install workflow through `1.0.0-beta.1`
|
||||||
|
|
||||||
Date: 2026-05-21
|
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
|
reruns from a local checkout; beta.1 release-gate verification from the public
|
||||||
|
monorepo
|
||||||
|
|
||||||
Maturity: beta
|
Maturity: beta
|
||||||
|
|
||||||
@ -26,20 +28,21 @@ 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`, records the first real
|
The current publication release, `1.0.0-beta.1`, keeps the first real
|
||||||
general-purpose beta baseline for Slovo. It includes the completed `u32` /
|
general-purpose beta language baseline from `1.0.0-beta` and records the first
|
||||||
`u64` unsigned scope, the staged stdlib breadth that makes ordinary
|
post-beta tooling/install hardening update. The beta baseline includes the
|
||||||
command-line programs practical, and the current nine-kernel benchmark suite.
|
completed `u32` / `u64` unsigned scope, the staged stdlib breadth that makes
|
||||||
This paper records the current beta technical state, the difference between
|
ordinary command-line programs practical, and the current nine-kernel
|
||||||
Slovo and Lisp-family languages, the current benchmark methodology, and the
|
benchmark suite. This paper records the current beta technical state, the
|
||||||
remaining path from beta to stable.
|
difference between Slovo and Lisp-family languages, the benchmark methodology,
|
||||||
|
the beta.1 tooling update, and the remaining path from beta to stable.
|
||||||
|
|
||||||
## 1. Scope
|
## 1. Scope
|
||||||
|
|
||||||
This document is a technical state paper for the current beta baseline. It
|
This document is a technical state paper for the current beta baseline. It
|
||||||
summarizes the behavior represented by the paired local Slovo and Glagol
|
summarizes the behavior represented by the paired local Slovo and Glagol
|
||||||
workspaces, with `1.0.0-beta` as both the current language-surface and
|
workspaces, with `1.0.0-beta` as the current language-surface baseline and
|
||||||
publication baseline.
|
`1.0.0-beta.1` as the current publication/tooling baseline.
|
||||||
|
|
||||||
The support rule remains strict:
|
The support rule remains strict:
|
||||||
|
|
||||||
@ -51,7 +54,7 @@ The support rule remains strict:
|
|||||||
- partial parser recognition or speculative examples do not count as support
|
- partial parser recognition or speculative examples do not count as support
|
||||||
|
|
||||||
Historical `exp-*` releases remain experimental alpha maturity. The current
|
Historical `exp-*` releases remain experimental alpha maturity. The current
|
||||||
publication accompanies `1.0.0-beta`.
|
publication accompanies `1.0.0-beta.1`.
|
||||||
|
|
||||||
## 2. Design Thesis
|
## 2. Design Thesis
|
||||||
|
|
||||||
@ -214,6 +217,11 @@ The toolchain currently provides:
|
|||||||
- textual artifact manifests
|
- textual artifact manifests
|
||||||
- lowering inspection
|
- lowering inspection
|
||||||
- native executable output through hosted LLVM/Clang integration
|
- native executable output through hosted LLVM/Clang integration
|
||||||
|
- `glagol run` for build-and-execute workflows
|
||||||
|
- `glagol clean` for generated `.slovo/build` artifacts
|
||||||
|
- `glagol new --template binary|library|workspace`
|
||||||
|
- `scripts/install.sh` with installed `bin/glagol`,
|
||||||
|
`share/slovo/std`, and `share/slovo/runtime/runtime.c`
|
||||||
- benchmark scaffolds for Slovo, C, Rust, Python, Clojure, and Common
|
- benchmark scaffolds for Slovo, C, Rust, Python, Clojure, and Common
|
||||||
Lisp/SBCL comparisons
|
Lisp/SBCL comparisons
|
||||||
- repo-local release-gate and document-render scripts for publication
|
- repo-local release-gate and document-render scripts for publication
|
||||||
@ -233,7 +241,7 @@ Environment:
|
|||||||
| Field | Value |
|
| Field | Value |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| Host | `Linux 6.17.10-100.fc41.x86_64 x86_64 GNU/Linux` |
|
| Host | `Linux 6.17.10-100.fc41.x86_64 x86_64 GNU/Linux` |
|
||||||
| Glagol | `glagol 1.0.0-beta` |
|
| Glagol | `glagol 1.0.0-beta` benchmark baseline |
|
||||||
| Python | `Python 3.13.9` |
|
| Python | `Python 3.13.9` |
|
||||||
| C compiler | `clang version 19.1.7 (Fedora 19.1.7-5.fc41)` |
|
| C compiler | `clang version 19.1.7 (Fedora 19.1.7-5.fc41)` |
|
||||||
| Rust | `rustc 1.77.2 (25ef9e3d8 2024-04-09)` |
|
| Rust | `rustc 1.77.2 (25ef9e3d8 2024-04-09)` |
|
||||||
@ -342,7 +350,11 @@ python3 benchmarks/vec-string-eq-loop/run.py --mode cold-process --repeats 3 --w
|
|||||||
|
|
||||||
## 7. Benchmark Results
|
## 7. Benchmark Results
|
||||||
|
|
||||||
The exp-123 publication baseline widens the paired same-machine result set
|
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
|
||||||
|
not claim changed benchmark performance.
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
- `vec-i32-index-loop`
|
- `vec-i32-index-loop`
|
||||||
@ -461,10 +473,11 @@ 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`
|
## 10. Path Beyond `1.0.0-beta.1`
|
||||||
|
|
||||||
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 compatibility-governed baseline and move deliberately toward stable
|
the language compatibility-governed baseline, and `1.0.0-beta.1` as the first
|
||||||
|
tooling/install hardening point, then move deliberately toward stable
|
||||||
general-purpose status.
|
general-purpose status.
|
||||||
|
|
||||||
Recommended sequence:
|
Recommended sequence:
|
||||||
|
|||||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user