Introduction
What Achronyme is, how its host and circuit execution paths fit together, and which versions are published.
Achronyme is a programming language for capability-scoped host programs and zero-knowledge circuits.
Write ordinary code, make concurrent and external effects explicit, and decide which deterministic statements become proofs. The same source language feeds separate execution, witness, and constraint machines instead of pretending all three jobs have the same runtime requirements.
Current versions
| Surface | Published stable | Source receipt |
|---|---|---|
| Compiler and CLI | 0.1.2 | cd7a6e66 |
| Editor and LSP | 0.3.1 | Compatible; LSP built from core b1774e88 |
| Web package and server | 0.1.2 | Pinned to core cd7a6e66 |
The CLI, WASM package, and deployed web service use core revision
cd7a6e66e133bebd8e2026e321a4c85023c311f7. Editor 0.3.1 remains compatible because 0.1.2 does
not change the language or LSP contracts. See the
0.1.2 release notes for the detached verification
fixes and compatibility statement.
Host execution
General programs support closures, collections, structured concurrency, owned file and TCP resources, and explicit runtime limits:
fn work(value) {
await yield_now()
return value * 2
}
let total = concurrent {
let left = spawn work(10)
let right = spawn work(11)
await left + await right
}
The interpreter is portable. LLVM 21 ORC JIT accelerates supported host code,
and ach aot creates native executables. Filesystem and network access remain
denied until the operator supplies exact grants.
Circuit compilation
circuit multiply(product: Public, a: Witness, b: Witness) {
assert_eq(a * b, product)
}
ach circuit multiply.ach --inputs "product=42,a=6,b=7"
The R1CS path emits snarkjs-compatible .r1cs and .wtns artifacts. Achronyme
can also import Circom templates, compute complex witnesses through Artik, and
stage repeated template expansion through Lysis.
Inline proofs
let secret = 0p42
let commitment = poseidon(secret, 0p7)
let proof = prove(commitment: Public) {
assert_eq(poseidon(secret, 0p7), commitment)
}
Proof generation fails closed unless a key source is selected:
# Local development only
ach --insecure-dev-setup run proof.ach
# Ceremony-derived production key store
ach --trusted-key-dir ./trusted-keys run proof.ach
Detached verification uses ach verify and does not require project
configuration or a proving key. Operational artifact errors remain distinct
from a cryptographically invalid proof.
The three machines
- Akron runs host programs, structured tasks, owned resources, and proof values through the interpreter, JIT, or AOT path.
- Artik executes deterministic witness programs, including native bigint operations used by ECDSA-scale Circom circuits.
- Lysis stages template instantiation and emits shared constraint bodies without eager memory expansion.