प्रकाशन: 3 नवंबर 2026। यह नवीनतम प्रकाशित Scarp v0.0.5-alpha.4 prerelease है। इसके tagged compiler source का commit 79141329176f5dce51457e90a6652902f6432135 है। Scarp अभी Rust में बना प्रयोगात्मक interpreter है। इसमें native-code generation या stable package specification नहीं है। व्यवहार के प्रमाण tagged project implementation और वास्तविक integration tests हैं।
::: warning पुरानी candidate वाली टिप्पणी Compiler के इसी frozen tag में कुछ Markdown files अभी भी “unpublished candidate” कहती हैं क्योंकि वे release से पहले लिखी गई थीं। GitHub का प्रकाशित release और compiler tests बताते हैं कि alpha.4 वास्तव में प्रकाशित हो चुका है। पुराने source-docs शब्दों को नई release के अनुपलब्ध होने का प्रमाण न मानें। :::
| Command | काम और उपलब्धता |
|---|---|
scarp create DIRECTORY |
alpha.4 में नया। नई local directory, manifest और starter .srp बनाता है। पहले से मौजूद खाली directory भी स्वीकार नहीं करता। |
scarp verify DIRECTORY |
नया project-directory mode। Manifest, entry path, imports, नाम और types की static जाँच; सामान्य statements को execute नहीं करता। scarp verify FILE.srp भी चलता है। |
scarp launch DIRECTORY |
alpha.4 में नया। Project manifest जाँचकर घोषित entry को वास्तविक interpreter में चलाता है। Runtime budget options स्वीकार करता है। |
scarp exec FILE.srp |
alpha.3 से उपलब्ध। Project manifest के बिना single-file program चलाता है। |
scarp inspect modules --json FILE.srp |
alpha.3 से उपलब्ध। Static module metadata देता है, program execute नहीं करता। |
पुराने run, check, tokens और modules commands migration के लिए अभी उपलब्ध हैं। पुराना check selected runtime paths चला सकता है, जबकि नया verify सामान्य program statements नहीं चलाता।
v0.0.5-alpha.4 executable इस्तेमाल करें। Terminal की current directory में hello-world नाम का folder पहले से नहीं होना चाहिए। चलाएँ:
scarp version
scarp create hello-world
scarp verify hello-world
scarp launch hello-worldcreate से hello-world/Scarp.project और hello-world/src/main.srp बनती हैं। बिल्कुल सही version-1 manifest:
scarp-project: 1
name: hello-world
entry: src/main.srp
Compiler द्वारा बनाया गया सही starter program:
print("Hello from Scarp!");
सफल verify कोई output नहीं दिखाता। launch program चलाकर यह दिखाता है:
Hello from Scarp!
ये तीनों artifacts प्रकाशित compiler के src/project.rs generator से मिलते हैं। अलग CI job सही tagged compiler commit build करके बनाई गई files और stdout के bytes जाँचती है।
Scarp.project एक versioned development manifest v1 है, package registry या स्थिर workspace specification नहीं। इसमें क्रम से तीन lines होती हैं और अधिकतम 4,096 UTF-8 bytes हो सकते हैं। Fields scarp-project: 1, name: ..., और entry: ... हैं। अतिरिक्त या duplicate fields error हैं।
- Project का
name1–96 UTF-8 bytes का हो; control characters, path separators, colon या शुरू/अंत में whitespace न हो। entryproject के अंदर मौजूद relative.srpfile का नाम है; आगे slash का उपयोग करें।./.., colon, backslash, control characters निषिद्ध हैं। Entry path अधिकतम 512 UTF-8 bytes का है।- Manifest एक साधारण file हो, symlink नहीं। Entry symlink तभी स्वीकार है जब उसका canonical path उसी project root के अंदर हो।
launchऔर project-directoryverifyके लिए project path स्पष्ट लिखना पड़ता है; वे parent directories में manifest खुद नहीं खोजते।createके लिए parent directory पहले से मौजूद हो। यह पहले से बनी project directory को overwrite या adopt नहीं करता।
Type-correct program में भी runtime error हो सकती है। इसलिए verify सफल होने का अर्थ यह नहीं कि launch भी सफल होगा। Compiler tests में runtime division-by-zero वाला entry verify से सफल होता है; launch exit code 1 और खाली program stdout के साथ fail होता है।
launch में --max-steps, --max-prints, --max-calls और --max-text-bytes जैसे runtime budget options हैं। Project verify runtime budgets स्वीकार नहीं करता। दोनों में --diagnostic-format=json से errors stderr पर schema-v1 JSON में मिल सकती हैं। Source/runtime error का exit code सामान्यतः 1, और गलत CLI usage का 2 है।
प्रकाशित alpha.4 GitHub release में Windows x64, Linux x64 और macOS Apple Silicon archives व SHA-256 checksum files हैं। Archive extract करने से पहले आधिकारिक checksum से hash मिलाएँ। Hash अलग हो तो executable न चलाएँ।
इस release में scarp build/compile से native executables, project dependencies download करना, package registry, lockfile, workspace discovery, एक project से कई entrypoints, general records/enums, GPU backend या built-in async language support नहीं मिलता। cargo build Rust वाला Scarp tool बनाता है, किसी भी .srp से native executable नहीं।
अगला पाठ: Alpha.4 project quickstart, published release matrix और पुराना alpha.3 CLI reference। Compiler व manifest के नियम आगे बदल सकते हैं।