Achronyme 0.1.2 is published: detached verification preserves operational errors and global JSON output arrow_right_alt
Achronyme 0.1.2

Write programs.
Limit authority.
Prove claims.

Structured host programs and zero-knowledge circuits, with explicit authority and proving trust.

$ curl -fsSL https://achrony.me/install.sh | sh
One source, explicit execution paths.
InterpreterLLVM JITNative AOTR1CSGroth16
The tri-architecture

Three machines, one explicit pipeline.

Each VM owns a different responsibility instead of hiding execution, witness generation, and constraint construction behind one runtime.

A
Akron Host and surface VM

Runs the language, structured tasks, owned resources, closures, and proof blocks. Interpreter, JIT, and AOT share the same authority boundary.

Structured tasks Owned I/O JIT + AOT Proof values
A
Artik Witness VM

Executes deterministic witness programs, including multi-subprogram Circom lowering and native bigint operations for ECDSA-scale circuits.

Deterministic witness Native bigint Multi-subprogram Multi-prime
L
Lysis Instantiation VM

Stages template expansion, deduplicates shared bodies, and emits constraint IR without forcing every repeated subgraph into memory at once.

Staged expansion Hash-consing Shared bodies Constraint IR
ACH RUN

Concurrent host programs

Closures, collections, structured tasks, bounded channels, and owned file or TCP resources run under explicit grants and runtime limits.

algorithms.ach
VM
// Binary search — full VM mode
fn binary_search(arr, target) {
    mut lo = 0
    mut hi = len(arr) - 1
    while lo <= hi {
        let mid = (lo + hi) / 2
        if arr[mid] == target { return mid }
        if arr[mid] < target {
            lo = mid + 1
        } else {
            hi = mid - 1
        }
    }
    return -1
}

let sorted = [2, 5, 8, 12, 16, 23, 38]
assert(binary_search(sorted, 23) == 5)
terminal
CLI
$ ach circuit vote.ach --inputs "..." --backend r1cs

Compiling vote.ach...
    IR: 18 instructions
    Optimized: 3 eliminated (constant folding + DCE)
    Boolean propagation: 2 proven

R1CS generated:
    Constraints:    2,179
    Public inputs:  4
    Private inputs: 5
    Wrote vote.r1cs (932 bytes)
    Wrote witness.wtns (236 bytes)  verified OK
ACH CIRCUIT

Exact circuit artifacts

Compile Achronyme and Circom inputs to optimized constraints and witnesses that can be checked independently with standard tooling.

DEPLOY

Detached and on-chain verification

Export snarkjs-compatible artifacts, generate Solidity Groth16 verifiers, or verify detached BN254 and BLS12-381 proof JSON from the CLI.

--solidity Groth16 EVM-ready snarkjs-compat
terminal
CLI
$ ach run proof.ach --prove-backend r1cs --insecure-dev-setup
Development key selected (not for production)
Proof generated (Groth16)
Proof verified — 5 constraints

$ ach circuit proof.ach --solidity Verifier.sol
    Wrote Verifier.sol (Solidity Groth16 verifier)

// Deploy and verify on-chain
commitment.ach
ZK
let secret = 0p12345
let blinding = 0p98765
let commitment = poseidon(secret, blinding)

let proof = prove(commitment: Public) {
    assert_eq(poseidon(secret, blinding), commitment)
}

// proof is a first-class value
let json = proof_json(proof)
assert(verify_proof(proof))
PROVE {}

Proofs with an explicit key source

Proof blocks remain first-class values, but generation now fails unless development setup or a circuit-bound trusted key store is selected.

prove {} proof_json() verify_proof()
Trust modes

Development speed without production ambiguity

Use an explicit local setup while iterating, then switch to the exact ceremony-bound store for production.

Development
explicitly insecure
# Local iteration only
$ ach run commitment.ach \
    --insecure-dev-setup

Development key selected
Single-party setup is explicit.
The resulting artifacts are not
trusted for production.

Proof generated (Groth16)
Proof verified
Production
ceremony bound
let secret = 0p12345
let blinding = 0p98765
let commitment = poseidon(secret, blinding)

prove(commitment: Public) {
    assert_eq(poseidon(secret, blinding), commitment)
}

// Proof generated + verified (Groth16)
terminal
output
$ ach run commitment.ach \
    --trusted-key-dir ./keys/commitment

Circuit-bound key accepted
Proof generated (Groth16)
Proof verified — 361 constraints
v0.1.2 Core stable
cd7a6e66 Core revision
v0.3.1 Editor stable
v0.1.2 Web stable