Status

The facts a person or an agent needs before adopting a language. Machine-readable at /version.json.

MaturityExperimental. One author. Used for the demos in the repository and for the author's own trading automata. Not yet used in a system that other people depend on.
VersionSoma 2.8.10, including the cluster, runtime and verifier corrections in the changelog. Check your installation with soma --version. version.json records the version, source commit and documentation hashes used for this site. Its llms_txt_sha256 equals soma docs agent | shasum -a 256 on the release binary.
LicenseMIT — /LICENSE.
Changelog/CHANGELOG.md. Releases: github.com/soma-dev-lang/soma/releases.
Release validationSoma 2.8.10 validation: 681 Rust tests, 118 CLI checks, 321 corpus programs and 1,280 independent numeric comparisons passed. These results describe the tested release; the scope of static proofs is listed below.
Installcurl -fsSL https://soma-lang.dev/install.sh | sh fetches site/setup.sh from the repository's main branch and either downloads the release binary for your platform or builds from source. Downloads are checked against the release’s SHA256SUMS. Pin a version by downloading site/setup.sh and running it with SOMA_VERSION=2.8.10 sh setup.sh.
Static verificationsoma verify proves properties of each cell's state graph, supported memory invariants, termination and cost bounds. Proofs cover the inputs represented by the analysis; graph liveness does not ensure handler invocation. Unproved checks are reported, and --strict rejects warnings. Cluster behavior, arbitrary handler semantics, cross-cell rules and LLM answers remain outside these proofs. Proven, enforced at runtime and not covered.
What goes wrong/docs/operations.md — what kills the process (nothing a handler does), bind address and ports, exit codes, HTTP status per error kind, limits, deployment on Linux.
ClusterTyped Map replication after commit; full-mesh discovery and reconnect; periodic resynchronization; per-key logical versions and persistent deletion markers. Validated with separate processes, concurrent writes, rollback, seed failure and restart. Experimental eventual consistency: local reads, no quorum or consensus, no exactly-once delivery or physical sharding. strong and causal are refused. Setup, migration and limits.
Known limitsVerification is per cell; data-dependent rules are runtime checks; plain maps remain dynamic; soma serve has no authentication or TLS and serializes handlers (throughput is not a goal); one package in the registry; the bytecode VM is experimental and the deprecated --jit flag is ignored (use [native] for numeric compilation).
Robotics robustness100 additional regression scenarios exercise numeric boundaries, invalid sensor data, mission transitions, rollback, native execution, persistence and replay. Test matrix, reproduction and limits. No hardware qualification, hard real-time guarantee or distributed safety proof is implied.
Native parity and storage auditSoma 2.8.10 makes [native] handlers agree with the interpreter on exact quotients, Int-only builtins given a Float, huge literals, to_string, str_at and error wording; fixes Int indices past 64 bits on List slots, a reserved Map key and a negative BigInt budget; and makes indexed List writes and deletes, m.len, joins and self-assigned with/without linear. Sixteen new Rust regressions; every repository program keeps its verdicts. Native / stays Float-typed: an exact-quotient division by zero answers inf/NaN natively where the interpreter raises. Details.
Storage and provider auditSoma 2.8.9 fixes hidden read errors, legacy-list data loss or resurrection, JSON file write failures and malformed HTTP storage replies. Thirty-six new Rust regressions include both provider demos. Read failures abort the invocation even inside try. JSON files and HTTP providers do not offer SQLite multi-slot transactions. Behavior and compatibility details.
Persistence auditSoma 2.8.8 fixes refused SQLite writes, failed transaction boundaries, first-use auxiliary tables, list rollback/indexing and counter exhaustion or corruption. Failed commits withhold queued notifications; a lost transaction aborts the invocation. Nineteen integration tests and ten isolated unit tests cover these paths. Behavior and compatibility details.
Scope and memory auditSoma 2.8.7 fixes branch scope, closure capture, interpolation effects missed by proofs, and cross-cell agent-memory reads. Stored Strings keep their type; unsupported payloads are refused before writing. Twenty-four integration regressions and a legacy-migration unit test cover the fixes. Behavior and compatibility details.
Execution auditSoma 2.8.6 fixes repeated or skipped argument evaluation, collection updates, pipe dispatch, ignored mocks and typed constructors. Twenty-four regression tests cover these corrections. Behavior and compatibility details.
Input and storage auditSoma 2.8.5 closes validation gaps for Float promotion, typed maps, declared variant returns and persistent payloads. Nineteen new tests include process restarts and preservation of data after refused writes. Behavior and compatibility details.
Numeric auditSoma 2.8.4 fixes means, medians, standard deviations and clamps at numeric boundaries. Nine regression tests and 320 deterministic vectors (1,280 results compared with independent Fraction/Decimal references) run in CI. Behavior and compatibility details.
How it is testedThe Rust test suite runs on pushes and pull requests; the website build checks and tests every published corpus program and complete HTML example; fresh-agent usability cycles whose findings and fixes are logged in docs/agent-ux/LEDGER.md.
SecurityReport a vulnerability privately via GitHub security advisories (security.txt). Do not run soma serve on the open internet without a reverse proxy in front of it.
MaintainerAntoine Delorme — issues and discussion on GitHub issues.

Everything on this site is meant to be read by people and by models alike. Nothing here is hidden from either.