Official website

Quick search

Search pages in English or हिंदी. Detailed language reference is in Scarp Docs.

Top 6 website pages

Language prerelease · Reviewed source

Scarp alpha.6: navigate symbols and measure vector RMS

The published v0.0.6-alpha.1 prerelease adds opt-in static symbol/reference inspection and an RMS numerical builtin, with an experimental compiler and no LSP integration.

v0.0.6-alpha.1 was published on 5 November 2026. It extends the earlier project-aware Scarp CLI with read-only, cross-file source symbol and reference inspection, plus a finite vector rms builtin. The language remains experimental and the website does not claim an integrated language server, automatic refactoring, or stable APIs.

Use an alpha.6.1 interpreter (or a compatible newer release) with a Scarp source file or explicit project directory. These commands statically resolve the program without running ordinary statements:

Terminal · alpha.6
scarp inspect symbols --json hello.srp
scarp inspect references --json hello.srp

Both JSON outputs identify schema version 1 and their respectivekind values. They retain source locations for supported declarations and reference sites, including cross-file uses and shadowed names. Symbol IDs are compilation-local; consumers must rebuild indexes after edits rather than persisting IDs.

Read the source-pinned symbol-index contract for JSON fields, failure modes, size limits and what is deliberately excluded. This is not an LSP server or a rename operation.

RMS for finite numerical vectors

The rms(vector) builtin computes a scaled, compensated root mean square for a nonempty finite vector. It is intended to avoid intermediate overflow when input values are large. An empty input produces a diagnostic. The following example is executed in website CI under the published alpha.6 source—not under the historical alpha.1 baseline:

rms.srp
print(rms([2.0, -2.0]));
Expected stdout
2.0

See the pinned RMS reference and verified example scope. This feature does not introduce general tensors, GPU computation, automatic differentiation or a model-training framework.

What remains experimental?

exec, static verify, offline project creation and inspection retain their established CLI meanings. The earlier limited C11 emitter remains a Rust embedding API, not a scarp compile command. No general native executable generator or package registry is included.

The GitHub release record and annotated-tag source commit establish publication and source identity. The compiler's source-pinned design notes still contain candidate-stage wording; publication status here is based on the actual GitHub release.

Continue with the version-aware quickstart, CLI migration guidance or SHA-256 verified downloads.