Skip to content

Latest commit

 

History

History
102 lines (73 loc) · 12.9 KB

status.md

File metadata and controls

102 lines (73 loc) · 12.9 KB

Scarp feature and release status

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 compiler evidence by version

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.

Main reference: shipped in v0.0.5-alpha.1

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

Independently demonstrated in published alpha.2

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.

Independently demonstrated in published alpha.3

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.

Independently verified in published alpha.4

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.

Independently verified in published alpha.5

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.

Still unavailable in the latest published alpha.2

These capabilities are not shipped by the published compiler, even though design proposals or newer development work may exist:

  • Native compilation of .srp into an executable; scarp build and scarp compile are 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 integers collection 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.

Keeping this reference accurate

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.