Latest published compiler: v0.0.6-alpha.3, November 7, 2026. The general language-reference chapters remain intentionally pinned to v0.0.5-alpha.1. Separately verified alpha.2, alpha.3, alpha.4, alpha.5 and alpha.6 features are documented in release-specific guides. All versions are experimental prereleases, without guaranteed language compatibility.
For current downloads use the published alpha.3 archives and checksum pairs. The alpha.1 installation walkthrough stays pinned to its tagged source. For the older alpha.5 release, start with published alpha.5 installation and alpha.5 CLI. The earlier alpha.4 project quickstart remains useful for the unchanged creation workflow. The alpha.3 CLI reference remains useful for individual file commands. Use the version compatibility guide before migrating existing projects.
| Published release | Source commit | Conformance scope | Evidence |
|---|---|---|---|
| v0.0.5-alpha.1 (Nov 1, 2026) | afe8b5380c9d6c4774162e51c6c9bc8b90901671 |
11 original runnable examples form the main-reference baseline | Evidence |
| v0.0.5-alpha.2 (Nov 2, 2026) | e4db8e191cd7ea623123cae7348450ca6c95b170 |
12 tagged runnable examples in a separate compiler-backed suite | Alpha.2 guide |
| v0.0.5-alpha.3 (Nov 2, 2026) | 7715c28df09c7703b39e14fddb963275b25df476 |
4 complete tagged programs, a JSON diagnostic and CLI smoke tests | Alpha.3 guide |
| v0.0.5-alpha.4 (Nov 3, 2026) | 79141329176f5dce51457e90a6652902f6432135 |
Compiler-generated project manifest, source and stdout verified by new alpha.4 lifecycle tests | Alpha.4 guide |
| v0.0.5-alpha.5 (Nov 4, 2026) | 2eeed0aa52ccb59523307841ad8ffbd83f8911a8 |
1 release-pinned scalar-repeat program plus project-directory module inspection and Rust-only C11 backend | Alpha.5 guide |
| v0.0.6-alpha.1 (Nov 5, 2026) | aa329a22cf2bf92d2c9814a26ff9c8b67a72e6e8 |
2 published executable examples, source-reference JSON schemas, and static symbol navigation with checked RMS calculations | Alpha.6 guide |
| v0.0.6-alpha.2 (Nov 6, 2026) | 398b8ff705154a02423fe458ce3a427401e81e31 |
Optional bounded Rust caching and dependency invalidation APIs; no new Scarp CLI commands or syntax | Alpha.2 cache guide |
| v0.0.6-alpha.3 (Nov 7, 2026) | ceff07d9014f466974e0c9e02fc5d23573f55777 |
topk, topk_values, softmax_temp, logsoftmax_temp; verified private scalar IR, no new native CLI |
Alpha.3 release |
The numbers count examples in their individual release-specific suites; they are not a count of all language features, nor a proof that every existing program works in every later compiler. The alpha.1 → alpha.2 upgrade test separately re-runs 11 original programs unchanged with alpha.2; it does not establish general alpha.3 backward compatibility.
The following table describes the alpha.1 baseline only, not a complete inventory of the current alpha.6 release:
| Capability | Baseline evidence |
|---|---|
bind, var, scopes, shadowing and mutation |
Tagged variable guide |
Checked integer, finite float, string, boolean |
Tagged language reference |
if, elif, else, while, repeat |
Tagged iteration tests |
Typed funcra, default arguments, contracts, purity and recursion |
Tagged function tests |
print, println, write, eprint, ewrite |
Tagged output reference |
| Numerical vectors, tiles and numerical kernels | Tagged vectors |
| Local relative source modules, public functions and scalar constants | Tagged module reference |
Historical run, check, tokens, help/version CLI |
Alpha.1 CLI archive |
| Runtime budgets and automatic value retirement | Tagged budgets |
These 12 source programs come from the published v0.0.5-alpha.2 tag. They are executable, pinned and tested by the separate alpha.2 conformance job.
| Exact tagged source | Demonstrated capability | Tutorial |
|---|---|---|
bit_fields.srp |
Bit patterns, masks, and shifts | Explanation |
scalar_conversions.srp |
Checked explicit numeric conversion | Explanation |
typed_declarations.srp |
Typed bindings and assignments | Explanation |
unicode_text.srp |
Unicode length and exact text queries | Explanation |
numerical_kernels.srp |
Numerical statistics and activations | Explanation |
integer_collections.srp |
Immutable integer collections | Explanation |
score_selection.srp |
Stable score selection | Explanation |
vector_probabilities.srp |
Vector probabilities | Explanation |
classification_training.srp |
Application-written loss gradient | Explanation |
constant_expressions.srp |
Restricted module constants | Explanation |
module_inspection.srp |
Static module inspection | Explanation |
inspection_json.srp |
Schema-versioned module JSON | Explanation |
Module examples may require additional tagged files under modules/; follow the linked full tutorials. A single example demonstrates its own behavior, not a complete general-purpose collections or ML framework.
These 4 source programs are pinned to v0.0.5-alpha.3 and executed in its own CI job.
| Exact tagged source | Demonstrated capability | Tutorial |
|---|---|---|
text_construction.srp |
Unicode text creation and repetition | Explanation |
float_refinement.srp |
Iterative finite-float refinement | Explanation |
collection_module.srp |
Typed integer return from an imported module | Explanation |
coefficient_fit.srp |
Explicit coefficient fitting (not auto-differentiation) | Explanation |
Alpha.3 also ships the Scarp-first CLI: exec, static-only verify, inspect tokens, inspect ast, inspect modules, guide, version and offline diagnose --json. The older run, check, tokens and modules commands remain for migration. verify never executes ordinary runtime statements; legacy check may evaluate selected runtime paths. The AST inspector is parser-only, with no stable JSON AST format. See the published alpha.3 CLI reference.
New project workflow: scarp create DIRECTORY scaffolds a new project, scarp verify DIRECTORY statically validates its manifest and contained entrypoint, and scarp launch DIRECTORY executes that entry through the interpreter. The tagged source commit is 79141329176f5dce51457e90a6652902f6432135. The alpha.4 quickstart and published release guide reproduce the exact generated Scarp.project, src/main.srp and stdout. A dedicated CI suite builds the tagged compiler and tests creation, refusal to overwrite, static verification, interpreter launch, invalid manifests and runtime-only failures. This is project scaffolding and execution, not native compilation or package management.
Project directory inspection: scarp inspect modules --json DIRECTORY and the compatible scarp modules --json DIRECTORY read an explicit Scarp.project manifest and output schema-version-1 static module inventory, with no ordinary statement execution. Alpha.4 supported file inspection but not directory inspection. See alpha.5 CLI and release evidence.
Experimental Rust-only C11 API: scarp::c_backend::emit_c / emit_program emit C source text for a restricted scalar subset; they do not expose any native compilation CLI. Unsupported backend forms report E0049. See the C11 limitations.
The published native_scalar_repeat.srp and byte-exact stdout are copied into a dedicated fixture and tested in the alpha.5 tagged compiler CI job. The native C subset is smaller than the interpreter's language support.
These capabilities are not shipped by the published compiler, even though design proposals or newer development work may exist:
- Native compilation of
.srpinto an executable;scarp buildandscarp compileare not available CLI commands. - Package registry/manager, general-purpose standard library, workspace discovery, or project-mode arbitrary application argument forwarding.
- User-defined classes, structs, traits, generic functions or closures as general language features.
- Arbitrary tensors and general-purpose heterogeneous collections; alpha.2 does include the distinct, bounded
integerscollection type. - Network imports, wildcard imports, module re-exports and arbitrary runtime module globals.
- A self-hosted compiler, stable language specification or guaranteed cross-prerelease compatibility.
Release boundary: A compiler feature merged into main after the tagged release is development-only until a subsequent release independently verifies it. Do not infer support from a proposal or an open pull request.
All new rows need the exact release tag, source commit, runnable example or test, and a versioned guide. The English/Hindi tables are checked against the pinned release manifests by TypeScript validation; the suites also run real tagged interpreters in CI. See evidence policy and the compiler release list.