Skip go content

hello.kotoba / IPFS

;; W1 pure representative: ordinary Clojure-shaped values/functions only.
(ns examples.w1-pure)

(defn double [n]
  (+ n n))

(defn main []
  (double 21))
  • source CID bafkreiaeohkv2zu… IPFS CIDv1 · raw · sha2-256 of hello.kotoba
  • source SHA-256 0471d55d668ed5f9… sha-256 of di exact file wey dey show here
  • checked KIR SHA-256 92635333e1e0da86… the typed, effect-checked representation wey the compiler admit
  • artifact identity SHA-256 cfea3b89cc022a6b… binds source, policy, compiler contract and target ABI

The source CID dey open hello.kotoba. The SHA-256 digests dey identify source bytes, checked KIR, and artifact identity; dem no be IPFS addresses.

SAFE + FAST · BUILT FOR AI-GENERATED SOFTWARE

Safe code. Built for machine speed.

Kotoba na Lisp-shaped language wey dem design for safe, ultra-fast AI-generated software. Inspectable programs, explicit capabilities, and content-addressed artifacts dey connect compiler checks to controlled execution.

FASTEST COLD BUILD · 4 OF 4 ORDERINGS QUALIFIED

Fastest cold build of any toolchain for dis host.

11.75ms

Kotoba source to WebAssembly artifact, process-cold — then e execute, and di answer checked after clock stop.

  1. KotobaReleased CLI · WebAssembly 11.75 msfastest here
  2. C / ClangNative host 29.08 ms2.5× Kotoba
  3. Rust / rustcWebAssembly 38.99 ms3.3× Kotoba
  4. Rust / rustcNative host 56.02 ms4.8× Kotoba
  5. JVM / javacJVM class 171.53 ms14.6× Kotoba

Process-cold build wall time for milliseconds; shorter mean faster. K=1 source, lanes interleaved for one host, 7 samples each.

All 4 orderings pass perfgate at im unrelaxed default policy — at least 5% and separated from arms own spread — so the ordering still hold even if host dey busy. Bound to dis host, dis source size and dis run: build time no be execution speed, di advantage dey narrow as di source grow, and di released binary get hard correctness ceiling. All five benchmarks, including di ones wey dey go against Kotoba, dem dey below. Measured 2026-08-31 on Apple M4.

When AI dey generate, build, test, and regenerate code continuously, build latency turn infrastructure throughput.
DENY BY DEFAULT

No ambient authority

No implicit filesystem, network, process, clock, model, or secrets.

CHECKED KIR

Authority dey survive compilation

Types, effects, resources, and target support dey admitted before emission.

HOST ENFORCED

Only di grant dey bound

Di host and provider dey enforce concrete scope and record di decision.

POST-QUANTUM FLOOR

No classical-only downgrade

New encryption and publication boundaries need ML-KEM or ML-DSA evidence and dem reject stripped PQ material.

01 Di problem

AI fit write faster pass humans fit review

Generated code fit still useful but e fit reach file, network, secret, process, model, or payment surface wey di request no mean to expose.

THE OLD DEFAULT

Build broadly, constrain later

General-purpose program dey start with ambient semantics. Sandboxes, IAM, containers, policy, and signing dey add around am to recover di intended boundary.

THE KOTOBA DEFAULT

Grant small, then compile

Effects and capabilities na part of the admitted computation. If the target no fit prove and bind the grant, e no go emit or run the artifact.

Kotoba dey complement runtime and OS isolation; e no dey make those layers unnecessary.

Where Lisp mind and GP 2 graph rewriting meet Rust discipline

Kotoba na small, data-oriented, Clojure-shaped language. E design draw from Lisp code-as-data tradition and GP 2's rule-based graph rewriting, wit static discipline around authority, effects, resources, packages, and artifact identity.

INTUITIVE

Code as readable data

Immutable values, ordinary functions, explicit data, and composable syntax easy for humans and models to produce and inspect.

DECLARATIVE

Talk wetin fit happen

Effects, capabilities, resources, dependencies, and targets na visible inputs to admission—not surprise wey dem discover after deployment.

SECURITY-FIRST

Less language, harder boundary

No ambient interop, runtime code loading, unrestricted mutation, guest-defined macros, or unbounded concurrency for admitted component surface.

SAFE + FAST · BUILT FOR AI-GENERATED SOFTWARE.

Dis na confinement direction, no be 'unhackable' claim. The compiler, verifier, runtime, providers, policy roots, key custody, and OS isolation still dey inside the trusted computing base.

02 How di boundary dey work

Security for di whole computation

Di boundary dey carry from intent go execution. Each stage dey narrow or verify authority; no later stage fit invent grant.

1 · SOURCE

Declarative intent

Small, Clojure-shaped surface dey keep programs readable and e no allow ambient escape hatches.

2 · CHECK

Checked KIR

Types and transitive effects don turn to target-independent, inspectable representation.

3 · ADMIT

Intersect authority

Requested, delegated, local-policy, resource, and target grants fit only narrow.

4 · IDENTIFY

Address the artifact

Code, dependencies, policy, compiler contract, and target ABI bind di computation identity.

5 · ENFORCE

Bind for di host

Di runtime and provider bind only admitted capabilities, enforce finite budgets, and emit receipts.

Content identity no be authority.

CID verification, signatures, revocation, host policy, resource checks, and OS isolation still remain separate boundaries.

Lisp eval, without ambient host eval

Kotoba dey evaluate checked code as content-addressed data. Di familiar (eval request) surface dey lower to di typed :code/eval ability; e no dey receive source text, reader form, namespace, or host object.

DEFINITION CID

Wetin be code?

The CID dey select hash-verified checked-KIR definition and e CID-only dependency closure.

ADMISSION CID

E fit run here?

The exact interface, complete effect row, current allowance, fuel, and decreasing eval depth dem bind before execution.

VALUE CID

Wetin come back?

Di typed result dey persist as content-addressed evidence. E hash no fit retroactively authorize effect.

Identity, authority, and result evidence na three different facts.

Machine contract: lang/typed-eval.edn. Compiler wire capability: 30. Bounded apply still ordinary closed-module closure application.

Defaults for AI-first computing stack

These na engineering claims wey get qualification join. Default, bounded-ready, partial, and direction na different states; none dey silently promote to universal.

DIRECTION MEASURED

Build faster. Run faster. Keep di boundary.

Kotoba dey publish compiler-startup, developer-loop, native-runtime, and workload-domain measurements wit exact-result checks. Current speed ranks still dey withheld until quiet-host gates pass; security admission no dey remove to win timing.

READY BOUNDED

Storage wey no get language ceiling.

Kotobase dey use content identity, range reads, immutable history, and provider-neutral storage. Physical capacity, tenancy, retention, cost, replication, and execution budgets dey explicit; dis no be infinite-disk claim.

DEFAULT

Post-quantum cryptography by default.

Every new Kotoba cryptographic boundary must name ML-KEM or ML-DSA evidence and reject classical-only downgrade. Existing Passkeys, transport, implementations, and key custody remain separately qualified boundaries.

DEFAULT

Authentication dey. Authority denied by default.

Passkey identity gats dey for control boundary. Verified identity no get filesystem, network, storage, model, secret, payment, or GPU authority until explicit scoped grant pass local policy and host checks.

READY BOUNDED

Flexible delegation wey fit only narrow.

Requested, delegated, local-policy, resource, and target scopes dey intersect. Delegation fit compose and reduce, but e no fit mint ambient authority or widen issuer grant.

READY BOUNDED

Web3 ready, chain-neutral for root.

Stable Kotoba Principal and Passkey controller na di main ones. CAIP-10 accounts, ERC-1271, and ERC-6492 na explicit linked-account proofs; wallet address no go silently turn storage or execution authority.

IMPLEMENTED PARTIAL

Zero-copy where ownership allow; one copy where boundary require am.

Columnar byte views dey keep vector, direct ByteBuffer, and Uint8Array backing. Arrow projection fit keep uncompressed buffers columnar through the authorized Kotobase lake path. Network ingress, decompression, GPU upload, and immutable persistent updates still remain named copy boundaries.

IMPLEMENTED PARTIAL

Arrow-shaped data. Explicit CPU SIMD and device-native GPU kernels.

For Apple M4, uncompressed, non-nullable Arrow float32 column keep one WebAssembly linear-memory backing while Num run explicit v128 f32x4 kernel over borrowed values slice with zero Arrow-to-SIMD copies; scalar tail cover remaining rows. For three qualified runs of same 262,147-element scale workload and artifact, that SIMD kernel finish 3.66-3.72x faster than scalar Wasm. Na kernel-and-host result, no be general runtime claim. Same bounded column path still keep one ArrayBuffer through CPU views, cross GPU ownership boundary with one measured WebGPU upload, run for Metal, and return one four-byte scalar. Nullable columns, other Arrow dtypes, unified-memory upload removal, broader kernels, and universal CPU/GPU qualification still dey wait.

DEFAULT

AI first. Agent-safe by default.

Kotoba na for programs wey AI agents and bots write or operate. Di stronger di model, di more important explicit effects, finite resources, capability confinement, receipts, and host enforcement dey.

DIRECTION

AGI-ready boundaries, no be AGI claim.

Di architecture na to keep authority clear as models dey get more power. Kotoba no dey claim say AGI dey here, say generated programs dey trustworthy, or say confinement fit remove di compiler, runtime, provider, key-custody, and OS trusted computing base.

Machine authority: lang/product-defaults.edn. Unlimited physical storage, zero copies everywhere, universal speed rank, AGI achieved, and unhackable still remain forbidden absolute claims.

Wetin AI-written Kotoba no fit ask for

Deliberately absent language surface
Boundary Why e no dey
compile, load, load-file, load-string, ns-resolve, read-string, require, resolve, use Components no fit manufacture code or authority from ambient process state. Source strings, reader forms, loaded namespaces, and compiled host objects never get effect-inferred and no be part of definition CID. The admitted `(eval request)` operation na separate: e dey select already checked KIR by CID through :code/eval and e dey re-admitted by the host.
., .., import, new Arbitrary JVM/JS object and method access dey bypass capability admission. No fit relax by grant dispatch: interop no dey reach guard-component-ability-call, so grant intersection, receipts and revocation no fit see the call. E no get meaning for wasm32 ABI (no such path dey); e dey load-bearing for portable/trusted, where the subset gate na the only boundary (no separate VM sandbox dey claim there).
alter-var-root, atom, binding, deref, dosync, ref, reset!, set!, swap!, var, volatile! External mutable state na provider-owned and capability/policy mediated; component-local state must use explicit bounded model. Di invariant na AMBIENT, no be mutation itself. Since 2026-09-02 dat reading get two consequences instead of one. Cell wey escape, persist, or cross function na provider-owned and e dey for :state-kit-desugar path (effect row show :state, grant dey required at instantiation, capability handles dey rejected as stored values). Cell wey no do any of dis -- (let [a (atom 0)] (swap! a + 1) @a) -- no need host at all: local-state slice 1 dey elaborate am into ordinary let rebindings, so nobody observe am but di straight-line code wey own am and no cell dey runtime. atom / swap! / reset! / deref na admitted-via-elaboration, and dem refuse am the moment di cell wan escape. ref / dosync / volatile! / binding / var / alter-var-root / set! no get ability model decide and dem still dey rejected fail-closed.
agent, future, locking, pmap, send, send-off Component scheduling and resources must remain tender-controlled and bounded. Neither definition CIDs nor delegated grants dey meter CPU or scheduling; fuel na per-instance and ambient threads fit escape am. A structured-spawn ability wit sub-budgeted fuel fit design but undecided; no widening path yet.
defmacro Di safe component surface gats dey statically inspectable before e run. No relaxation: expansion dey run code inside compiler (build time), and definition CID hashes post-desugar typed KIR, so unbounded macros dey run early and make source identity no fit review. defdesugar (bounded pure desugar) still be di admitted alternative.
catch, throw, try Ambient throw/try/catch na untracked non-local control flow: e dey exit scopes wey inferred effect row no mention and e dey skip unwind obligations (dataspace facet retraction no get checked unwind yet). Di ban na for di ambient form. Since 2026-09-02 typed abort ability dey admit di heads by elaboration: di effect dey appear for inferred row as :abort and di function dey lower to [:result T E], so di ambient form no dey after elaboration. Slice 2 (2026-09-02) make :abort propagate through calls and A-normalized aborting operand or test into let binding; neither one dey widen di invariant, because propagated abort dey caller's row and A-normalized one na same elaboration for different position. Where unwind precondition fit matter, abort still dey refused -- for CALL now and for throw.

Dem be named security constraints for lang/surface-status.edn, no be features wey dey miss for roadmap.

03 Di evidence

Proof, with di boundary attach

Kotoba dey separate implementation evidence from market traction and dey keep residual risk near every safety claim.

33 cores

Internal production dogfooding

Di wider Kotoba stack dey run 33 inference cores inside. Dis one prove say di team dey operate im own stack; e no be customer traction, paid adoption, or revenue.

8 claims

Boundaries dey machine-readable

Safety claims dey name their trusted computing base, negative evidence, and residual risk instead of just dey talk 'unhackable' slogan.

deny by default

No grant, no host effect

Empty policy no grant filesystem, network, process, clock, model, or secret authority. Providers must validate concrete resource scope.

Internal production use na dogfooding evidence only. E no mean external customers, paid pilots, or revenue.

Five benchmarks. Five different questions.

Compiler startup dey ask how fast one small source fit turn artifact. Build scaling dey ask wetin happen to dat number when di source no be small again—and if di artifact still dey respond. Developer loop separate resolution, checking, builds, and first result. Native runtime dey ask how fast code wey don build before dey run. Workload-domain suite dey check how strings, collections, allocation, I/O, concurrency, and small real app dey behave. Di results keep all five questions—and their evidence status—separate.

BUILD STARTUP · RANK UNQUALIFIED

4 toolchains, 21 runs each

Kotoba 40.998 ms · Rust 126.422 ms · C 146.324 ms · JVM 961.248 ms median.

21 rotating process-cold samples · load1 30.79 → 39.79 · required ≤ 1 · 2026-08-29 · Apple M4

RUNTIME · COVERAGE COMPLETE

6 workloads × 5 comparators

Amu native dey exercise against Rust, Clang / C11, Zig, Go c-shared, Swift through one common native call boundary.

30/30 comparator/workload pairs · exact answers verified

RUNTIME SPEED · 19/30 QUALIFIED

19 of 30 pairs

Amu native win 19 of the 30 comparator/workload pairs by at least 5%, separate from arms own spread. The bounded fastest claim need every pair, so e still dey unqualified — the count na the informative half.

At least 2 of those pairs no fit win at all. For narrow-arithmetic, amu, Apple clang -O3 and rustc -O3 dey compile the kernel to the same 61-instruction sequence — clang and rustc byte-identical, amu only different for register numbers. 5% margin over identical code no dey, so the bounded claim no fit happen, e no just unmet.

Median of 5 host-qualified runs; di score range 19–20 and 19 of di 30 pairs qualify for every one. One noisy sample fit disqualify plenty pairs at once, so one-run score no precise for one pair.

busy-CPU 0.090 → 0.069 → 0.076 · required ≤ 0.10 · 2026-09-07

DEVELOPER LOOP · RANK UNQUALIFIED

11 toolchain paths

Dependency resolution, checking, clean and no-change builds, and process-cold first result dem record separately.

7 samples per measured stage · load1 20.84 → 24.49 · required ≤ 1

BUILD SCALING · CEILING FOUND

8 source sizes

Di same program from one function to 2048, build by every toolchain for host then run. Released binary get lowest cold-start cost here and e correct ceiling above 128 functions.

artifacts wey dem check after clock stop · load1 2.73 → 2.73 · required ≤ 1 · 2026-08-31

WORKLOAD DOMAINS · RANK UNQUALIFIED

6 domains × 6 runtime paths

Strings, collections, allocation, file I/O, four-worker concurrency, and request-admission policy application kernel dey correctness checked.

7 samples for both process-cold and amortized lanes · load1 13.87 → 12.38 · rank withheld

Build time as source dey bigger

Di benchmarks wey dey above dey build program wey small well well to fit one screen, wey dey measure how quick toolchain start. E no talk much about the number wey developer really dey wait on, na di slope. Dis fifth benchmark dey generate di same program at increasing sizes — K independent four-operation functions and one entry point wey calls all of dem — and build am through every toolchain for di host, inside rotating order.

E go run wetin each toolchain produce, after clock don stop. Dat check no be decoration. Di fastest way to emit artifact na to emit broken one, so lane wey stop to work for otherwise go post im best numbers exactly where e stop to work.

20 ms 100 ms 1 s 10 s K=1 32 128 512 2048 Generated functions (log scale) Build wall time (log scale) Kotoba / Amu → native Kotoba / Amu → Wasm rustc → Wasm rustc → native javac clang → native Kotoba · released CLI

Both axes na logarithmic: di sources span three orders of magnitude and so di times. Line end for dot where di run end, for cross where dat lane emit artifact wey no be di program, and for bar where di toolchain refuse to build. Dem three no be di same event and di two failures below no be di same failure.

Process-cold build wall time by source size; medians, one host, lanes interleaved
Toolchain / target K=1 K=32 K=128 K=129 K=512 K=1023 K=1024 K=2048
Kotoba · Released CLI · WebAssembly 11.753 ms 35.84 ms 111.538 ms invalid artifact invalid artifact invalid artifact build failed build failed
Kotoba / Amu · WebAssembly 733.255 ms 825.418 ms 1123.04 ms 1123.847 ms 3380.63 ms 9242.463 ms build failed build failed
Kotoba / Amu · Native aarch64-macos 962.198 ms 1509.84 ms 2973.249 ms 3000.243 ms 10601.87 ms 23725.327 ms build failed build failed
Rust / rustc · WebAssembly 38.992 ms 45.622 ms 66.066 ms 65.56 ms 151.592 ms 277.88 ms 280.867 ms 595.812 ms
Rust / rustc · Native host 56.023 ms 62.849 ms 82.107 ms 82.277 ms 159.519 ms 261.586 ms 260.934 ms 469.277 ms
C / Clang · WebAssembly no toolchain no toolchain no toolchain no toolchain no toolchain no toolchain no toolchain no toolchain
C / Clang · Native host 29.078 ms 30.442 ms 35.765 ms 36.581 ms 60.594 ms 104.992 ms 101.728 ms 223.232 ms
JVM / javac · JVM class 171.53 ms 197.998 ms 237.582 ms 238.611 ms 316.795 ms 378.252 ms 377.591 ms 454.632 ms

Measured 2026-08-31 for judahnoMac-mini.local (Apple M4). K na number of generated functions; Kotoba source run from 9 to 14338 lines. Targets, ABIs, optimisation levels and runtime contracts different for lanes, so dis dey ask about developer feedback latency, no be equivalent work. Host-load gate fail (load1 2.73–2.73, required ≤ 1), so na observations of dis run no be portable figures. Because lanes dey interleaved, ordering dey qualified separately.

Which orderings go survive the noise test

Ratio no be ranking. perfgate no gree any ordering wey gap dey inside di two arms own spread, no matter how big di ratio be, e no go accept arm wey get too few samples or too much noise. E dey run here with im own default policy, unrelaxed — a threshold wey dem loosen to make dis run through na benchmark wey dey measure im own thresholds. Because the lanes dem dey interleaved for one host, gap dey wey survive dis test go survive host wey busy.

Released Kotoba CLI against each comparator, for every size wey e still dey emit valid module
Size Compared against Kotoba faster? Gap vs combined spread Why no, if no
K=1 C / Clang · Native host yes, qualified 17.1 ms vs 1.0 ms
K=1 JVM / javac · JVM class yes, qualified 160.8 ms vs 5.4 ms
K=1 Rust / rustc · Native host yes, qualified 44.2 ms vs 0.6 ms
K=1 Rust / rustc · WebAssembly yes, qualified 27.1 ms vs 0.5 ms
K=32 C / Clang · Native host no 5.3 ms vs 1.0 ms improvement-below-threshold
K=32 JVM / javac · JVM class yes, qualified 161.9 ms vs 1.2 ms
K=32 Rust / rustc · Native host yes, qualified 26.7 ms vs 0.7 ms
K=32 Rust / rustc · WebAssembly yes, qualified 9.8 ms vs 0.6 ms
K=128 C / Clang · Native host no 75.8 ms vs 1.2 ms improvement-below-threshold
K=128 JVM / javac · JVM class yes, qualified 126.2 ms vs 2.2 ms
K=128 Rust / rustc · Native host no 29.3 ms vs 1.4 ms improvement-below-threshold
K=128 Rust / rustc · WebAssembly no 45.8 ms vs 1.1 ms improvement-below-threshold

improvement-below-threshold mean say the Kotoba lane no faster at that size at all. The advantage dey real and qualified at cold start, but e don disappear against C by K=32 and against Rust by K=128. That crossover na the result, so e dey show instead of summarise away.

Two failures wey no be di same failure

Three Kotoba lanes stop to work for dis run, and dem dey publish dem as one row for wrong. One na defect. Di other two dem declare bounds dey enforced exactly as dem specify, and dem dey report dem as defects e go mean say dem dey measure the bounds instead of the compiler.

Wetin stop, and wetin e mean
Observation Reading
Released kotoba CLI emit module wey no go compile pass 128 functions One defect, and the reason to validate inside harness. For K=129 one call must carry function index 128, the first value wey need two LEB128 bytes, but the emitter write only one. The bytes talk say e no be missing encoder but unused one: local.set 128 dey write 80 01, and call 128 one instruction later dey write 80. The count of truncated operands na exactly K minus 128. The current compiler no get am — Amu build K=129 correct, and the fix don dey for its emitter's default branch since before this release tag.
Every Kotoba lane dey trap for K=512 when dem build am with default settings No be defect. One Kotoba module get declared call-fuel budget and compiler default na 512 calls, wey dis workload cross at K=512 where entry point call 512 leaves. Di harness declare 1,048,576 units explicitly and record am. C, Rust and Java no get equivalent bound to raise.
Amu no gree di module at all if e get pass 1,024 functions No be defect, and e be di opposite of di first row. max-functions na declared admission limit, so di compiler go stop wit kotoba.error/subset-reject and e go talk wetin e refuse, instead of to emit sometin wey no go load. Loud ceiling and silent one na different kain result, and na only harness wey dey run di artifact fit sabi di difference. Measured 2026-09-07: dis na di whole program ceiling, no be one module — max-project-functions still 1,024 and e dey checked against di linked project, so no module arrangement fit compile 2,048-function program today.

Wetin dis one dey establish

Di fifth benchmark answers, including di ones wey no favour
Question Answer from this run
How fast Kotoba cold build small module? The released CLI build K=1 inside 11.753 ms process-cold, artifact execute and answer check — na the fastest first result for any lane wey dem measure here.
How big module fit di released binary build? Up to 128 functions. If e pass dat e no slow, e just wrong, and dis harness go report am as failed lane instead of fast one.
Di build time still dey competitive as di source dey grow? Through K=128 the released CLI dem measure am against Rust and C for the table wey dey above. After that point, the only Kotoba compiler wey still dey emit correct module na Amu, wey dey run for nbb instead of released binary, and e dey roughly one order of magnitude slower for every size wey dem measure — so for big sizes, build speed no be Kotoba strength now, and dis page no go talk say e be otherwise.
How big source don build end to end? K=1023 through Amu — 7163 lines of Kotoba, artifact wey dem run and di answer dem check. Na one function short of di declared 1,024 ceiling, and di next size up dem no gree accept am instead of to build am wrong.
Di emitted code fast? Out of scope here — dis one dey measure building, no be running. Di native runtime suite wey dey above dey ask dat question.

Bottom line: For di smallest size, di released binary faster pass every comparator here by margin wey survive di noise test, and e get hard correctness ceiling at 128 functions. Compiler without dat ceiling dey roughly one order of magnitude slower for every size measured. Both facts come from di same run, and di harness wey find dem na public, so di run fit get disagreement.

How long each native workload really take

Di grid below dey report di margin between two arms. Na di number perfgate rules on, but percentage alone no talk whether workload run for five milliseconds or five hundred, and e dey hide di difference between contested pair and irrelevant one. These panels be the medians wey those margins dem compute from. Amu native na the coloured lane for every panel — including panels wey e no be first. Each panel na scaled to im own slowest arm, because di question wey panel answer na who be faster for dat workload.

Narrow arithmetic

  1. Clang / C11 6.41 ms
  2. Amu native 6.53 ms1.02× the fastest here
  3. Swift 6.55 ms
  4. Rust 6.58 ms
  5. Zig 8.24 ms
  6. Go c-shared 42.84 ms

Wide register pressure

  1. Amu native 5.80 msfastest here
  2. Rust 6.19 ms
  3. Clang / C11 6.50 ms
  4. Zig 6.97 ms
  5. Go c-shared 41.07 ms
  6. Swift 44.08 ms

Deep spill pressure

  1. Amu native 9.23 msfastest here
  2. Rust 9.61 ms
  3. Zig 9.71 ms
  4. Clang / C11 10.23 ms
  5. Go c-shared 51.86 ms
  6. Swift 124.27 ms

Call preservation

  1. Rust 4.77 ms
  2. Clang / C11 4.82 ms
  3. Amu native 4.85 ms1.02× the fastest here
  4. Swift 6.77 ms
  5. Zig 8.44 ms
  6. Go c-shared 32.49 ms

Branch + call control flow

  1. Clang / C11 4.67 ms
  2. Rust 4.90 ms
  3. Amu native 4.98 ms1.07× the fastest here
  4. Swift 6.72 ms
  5. Zig 8.95 ms
  6. Go c-shared 33.84 ms

Loop call back edge

  1. Clang / C11 139.84 ms
  2. Amu native 140.59 ms1.01× di fastest for here
  3. Rust 141.73 ms
  4. Go c-shared 169.38 ms
  5. Swift 186.09 ms
  6. Zig 207.01 ms

Median milliseconds over 5 host-qualified runs; shorter mean faster. Every arm return same independently checked answer, and candidate median na one value per workload — suite dey rotate each engine pair in ABBA/BAAB order, so same Amu artifact dey timed once per workload then compared against each arm in turn. Unlike other four benchmarks for dis page, dis one quiet-host gate PASSED (qualified-host-load), so na figures for dis host no be observations only. Bounded fastest claim still need all 30 pairs, na wetin grid below dey for.

Every runtime pair, whether win or loss

Di bounded claim na all-or-nothing, so one unqualified pair fit make am false. If dem publish only dat verdict e go hide which pairs dem dey contest, so di whole grid dey here. One cell na di mean improvement of Amu native over dat comparator for that workload; positive mean Amu faster, and check mark dey for pairs wey clear perfgate — at least 5% and separate from arms' own spread.

Amu native vs each comparator, 2026-09-07, host-qualified; ✓ = pass perfgate
Workload Rust Clang / C11 Zig Go c-shared Swift
Narrow arithmetic +0.4% -0.6% +20.1% +84.7% -0.6%
Wide register pressure +6.5% +10.9% +16.9% +86.0% +87.1%
Deep spill pressure +4.2% +9.3% +5.1% +82.2% +92.6%
Call preservation -1.0% -0.3% +42.9% +85.2% +29.6%
Branch + call control flow -2.6% -7.1% +43.8% +85.2% +25.1%
Loop call back edge +0.8% -0.1% +32.4% +17.2% +24.8%

Each cell na bar wey grow from centre line: right side Amu native faster, left side slower. Di two directions dey scaled separately — wins run to +93% and losses only to −7%, so one shared scale go flatten every contested pair into same invisible sliver. Sign dey carried by side of line and by signed number, so no reading of dis grid depend on telling two colours apart.

19 of 30 pairs qualify (median of 5; 19 for every run) · candidate 42f092ea5b61 · Apple M4, 10 logical CPUs, 16 GiB

Optimization delivery after published run

Di dated benchmark wey dey above no fit change. New implementation slices dey list separate until di same-artifact suite run again and pass qualification gates.

Implemented surfaces wey no be new speed claims yet
Surface Delivered Evidence boundary
Native vectors / allocation Bounded non-escaping vector literals dem escape-proof and scalar-replaced for x86-64 and AArch64. 211 backend tests / 2,442 assertions; escaping vectors still keep di checked host ABI. No new ranked timing yet.
String SIMD POSIX checked equality dey use explicit 16-byte NEON or SSE2 comparison after handle and canonical UTF-8 validation. Optimized assembly and both native ISA semantic vectors dem verify. Windows still pinned separately; latency rank dey wait.
Async I/O capability Root-confined eventual read/write/list/exists/delete dey use CompletableFuture for JVM and fs.promises for Node. JVM and Node real-filesystem tests pass. Di public standalone Wasm benchmark still no get admitted host binding, so e I/O cell still N/A.
Structured concurrency A bounded 32-child fail-fast scope dey join, cancel siblings, and prevent child lifetime escape as canonical Kotoba state. 996 parity assertions across .kotoba authority and CLJC load path. Na structured lifetime semantics, no be OS-thread throughput result.
Kotoba CLI kotoba test/build dey use di new compiler pin; kotoba compile dey emit sealed x86-64 and AArch64 KEXE directly. Public CLI lifecycle and AArch64 vector artifact verified. Native --run still dey refused until dem wire measured loader receipt.

Compiler startup, four toolchains

  1. KotobaWebAssembly 40.998 msdi baseline
  2. Rust / rustcWebAssembly 126.422 ms3.084× Kotoba
  3. C / ClangWebAssembly 146.324 ms3.569× Kotoba
  4. JVM / javacJVM class 961.248 ms23.446× Kotoba

Process-cold wall time for one small source, for milliseconds; shorter mean faster. 21 rotating samples per toolchain for Apple M4. Host-load gate FAILED for dis run, so na observations of one machine, no be ranking.

Tiny source-to-artifact process-cold build measurement
Toolchain Output Median p95 Relative elapsed time
Kotoba WebAssembly 40.998 ms 240.415 ms 1× Kotoba
Rust / rustc WebAssembly 126.422 ms 770.495 ms 3.084× Kotoba
C / Clang WebAssembly 146.324 ms 498.618 ms 3.569× Kotoba
JVM / javac JVM class 961.248 ms 2223.49 ms 23.446× Kotoba

KOTOBA 0.7.3 · RUSTC 1.97.1 · Homebrew clang version 22.1.7 · javac 24.0.2. Kotoba, Rust, and C dey emit Wasm; javac dey emit class file. Different targets and compiler work make dis na startup observation, no be universal ranking. Di recorded host-load gate fail, so di table no be qualified speed rank.

Dependency-free tiny-project developer-loop medians; N/A mean say no separate phase dem measure
Toolchain / target Resolve Check Clean build No-change build Start + execute Clean build + first result
Kotoba · WebAssembly N/A 231.75 ms 62.906 ms 42.332 ms 57.253 ms 142.644 ms
Rust / Cargo · arm64 macOS native 138.018 ms 71.208 ms 896.478 ms 67.764 ms 371.522 ms 1299.171 ms
C / Clang · arm64 macOS native N/A 90.446 ms 121.838 ms 77.905 ms 327.741 ms 453.685 ms
Zig · WebAssembly N/A 387.713 ms 648.665 ms 464.795 ms 67.523 ms 728.007 ms
TinyGo · arm64 macOS native N/A N/A 1059.624 ms 395.305 ms 203.169 ms 1269.918 ms
Go · arm64 macOS native 43.553 ms 6979.823 ms 3499.277 ms 150.902 ms 247.051 ms 3755.431 ms
Swift / SwiftPM · arm64 macOS native 1017.252 ms 427.372 ms 3695.557 ms 1259.829 ms 431.84 ms 4016.271 ms
JVM / javac · JVM class N/A N/A 805.822 ms 739.957 ms 76.252 ms 882.074 ms
AssemblyScript · WebAssembly N/A 1074.197 ms 895.187 ms 1090.658 ms 64.658 ms 954.878 ms
.NET IL · .NET IL 2309.472 ms N/A 4750.407 ms 2141.103 ms 79.248 ms 4851.792 ms
.NET Native AOT · arm64 macOS Native AOT 2236.962 ms N/A 11995.489 ms 2707.907 ms 375.7 ms 12391.54 ms

Every emitted artifact produce 42 for fresh process. Targets and runtime contracts different; N/A no be zero. Host-load gate fail, so these na reproducible observations no be cross-language speed ranking.

Six domains, side by side

Each panel dey scale to im own slowest lane, because di question wey panel answers na who faster for dat domain, no be how di domains compare to each other. Kotoba lane na di coloured one for every panel — including di panels where e last. Im standalone Wasm artifact dey run through Node host dey pay dat startup for every process-cold sample, while Rust, C and Go run as native binaries; where target no get ambient filesystem or thread If contract no dey at all, lane no dey instead of zero.

String

  1. C / Clang 1.463 ms
  2. Rust 1.907 ms
  3. Go 1.974 ms
  4. JVM / Java 27.819 ms
  5. Kotoba / Wasm + typed JS host 30.539 ms20.9× di fastest here
  6. JavaScript / Node.js 31.628 ms

Collection

  1. C / Clang 1.357 ms
  2. Go 1.852 ms
  3. Rust 1.92 ms
  4. Kotoba / Wasm + typed JS host 29.98 ms22.1× di fastest here
  5. JVM / Java 31.42 ms
  6. JavaScript / Node.js 31.818 ms

Allocation

  1. C / Clang 1.353 ms
  2. Rust 1.943 ms
  3. Go 1.962 ms
  4. JVM / Java 26.447 ms
  5. Kotoba / Wasm + typed JS host 29.567 ms21.9× the fastest wey dey here
  6. JavaScript / Node.js 31.055 ms

I/O

  1. C / Clang 2.539 ms
  2. Rust 2.686 ms
  3. Go 6.577 ms
  4. JVM / Java 38.685 ms
  5. JavaScript / Node.js 94.124 ms
  6. Kotoba / Wasm + typed JS host N/A — no dey inside dis target contract

Concurrency

  1. C / Clang 2.916 ms
  2. Rust 3.328 ms
  3. Go 3.377 ms
  4. JVM / Java 34.828 ms
  5. JavaScript / Node.js 55.105 ms
  6. Kotoba / Wasm + typed JS host N/A — no dey inside dis target contract

Real application

  1. C / Clang 1.294 ms
  2. Go 1.964 ms
  3. Rust 2.047 ms
  4. JVM / Java 26.411 ms
  5. JavaScript / Node.js 29.534 ms
  6. Kotoba / Wasm + typed JS host 29.652 ms22.9× the fastest here

Process-cold medians for milliseconds; shorter mean faster. The host-load gate failed for this run, so these panels na observations no be ranking, and the amortized lane below dey tell another story again.

Process-cold workload-domain medians; N/A mean say di target contract no get dat capability
Runtime path String Collection Allocation File I/O Concurrency Real app
Kotoba / Wasm + typed JS host 30.539 ms 29.98 ms 29.567 ms N/A N/A 29.652 ms
Rust 1.907 ms 1.92 ms 1.943 ms 2.686 ms 3.328 ms 2.047 ms
C / Clang 1.463 ms 1.357 ms 1.353 ms 2.539 ms 2.916 ms 1.294 ms
Go 1.974 ms 1.852 ms 1.962 ms 6.577 ms 3.377 ms 1.964 ms
JVM / Java 27.819 ms 31.42 ms 26.447 ms 38.685 ms 34.828 ms 26.411 ms
JavaScript / Node.js 31.628 ms 31.818 ms 31.055 ms 94.124 ms 55.105 ms 29.534 ms

Every sample return di exact reference checksum. Kotoba dey use im emitted Wasm and declared typed ABI; im standalone target no get ambient filesystem or thread contract, so dem cells na reason N/A. Di recorded host-load gate fail, so medians na observations, no be ranking.

Amortized in-process batch medians per base workload; N/A still get di same capability boundary
Runtime path String Collection Allocation File I/O Concurrency Real app
Kotoba / Wasm + typed JS host 0.351 ms 0.039 ms 0.066 ms N/A N/A 0.048 ms
Rust 0.028 ms 0.002 ms 0.003 ms 1.217 ms 1.456 ms 0.002 ms
C / Clang 0.02 ms 0.001 ms 0.003 ms 1.61 ms 1.558 ms 0.001 ms
Go 0.023 ms 0.002 ms 0.004 ms 5.071 ms 1.582 ms 0.002 ms
JVM / Java 0.433 ms 0.051 ms 0.064 ms 17.175 ms 5.589 ms 0.043 ms
JavaScript / Node.js 0.336 ms 0.033 ms 0.067 ms 68.507 ms 7.771 ms 0.032 ms

Each bigger in-process batch dey divided by declared workload multiplier. Dis amortize startup but no fully remove process, VM, or Wasm instantiation cost, so e no dey labeled perfectly warmed steady-state result. Kotoba pure inc/dec map chains dey fused into reduce without intermediate vectors; callbacks outside dat proven subset dey keep eager materialization.

Wetin each public benchmark dey do—and no dey establish
Question Compared implementations Current conclusion
Tiny Wasm compile + execute Kotoba, Rust, C, and JVM toolchains Four process-cold medians wey dem publish for top; only Kotoba/Rust/C share the Wasm target, and no general build-speed rank dey claim
Tiny-project developer loop Kotoba, Rust, C, Zig, TinyGo, Go, Swift, JVM, AssemblyScript, .NET IL, and .NET Native AOT Seven samples per available stage dey published; target differences and failed host-load gate no allow universal ranking
Native steady-state execution Amu native vs Rust, Clang / C11, Zig, Go c-shared, Swift All 30 semantic comparison cells complete; speed ranking withheld because quiet-host gate fail
Strings, collections, allocation, I/O, concurrency, and real app Kotoba, Rust, C, Go, JVM, and JavaScript runtime paths Exact checksums and process-cold plus amortized samples dey published; standalone Kotoba I/O and threads no dey, but pure request-admission application dey measured; di failed load gate dey hold ranking

Wetin di native suite cover

Each implementation dey return independently checked known answer. The suite dey rotate every engine pair for ABBA/BAAB order and e dey measure after loading, mapping, and symbol lookup.

Six required native runtime workloads
Workload Wetin e dey stress Evidence status
Narrow arithmetic Exact result verified; timing no qualified
Wide register pressure Exact result verified; timing no qualified
Deep spill pressure Exact result verified; timing no qualified
Call preservation Exact result verified; timing no qualified
Branch + call control flow Exact result verified; timing no qualified
Loop call back edge Exact result verified; timing no qualified

Where each benchmark dey live

Every number wey dey above come from public harness and committed report, so run fit repeat and claim fit no agree. Di in-repo paths for dis table dey checked against working tree when dis page generate: na harness wey if e move fail, e go fail di build instead of to ship dead link.

Di gate wey every ordering for dis page dey pass through na kotoba-lang/perfgate, run with im own unrelaxed default policy. Threshold loosen to allow run through go be benchmark wey dey measure im own thresholds.

Bottom line: Di artifacts, exact results and samples dey real for all five benchmarks. Three of dem — compiler startup, developer loop and workload domains — fail their quiet-host gate, so dem no rank anything and dem publish as observations. Di native runtime suite pass its gate and win 19 of 30 pairs, but no reach every-pair claim wey e need. Build scaling qualify its cold-start ordering against every comparator on host and find correctness ceiling for same run. No universal speed rank dey claim anywhere for dis page, and none of these runs get license for am.

Claims with their boundaries attached

These claims na from lang/safety-claims.edn. Each one keep im trusted computing base and residual risk visible, because safety slogan without boundary na just marketing.

T1-MEMORY

Admitted components no fit handle runtime/native memory and component memory operations gats dey bounded or trap.


Trusted computing base

bounded reader · frontend admission · artifact verifier · Wasm/native runtime

Residual risk

  • runtime-engine vulnerabilities still dey inside di TCB
  • native loaders need second OS isolation boundary
T2-EFFECT

Every transitive component effect dey declared and admitted before emission, including effects wey Kotoba-written providers dey use.


Trusted computing base

effect inference · capability catalog · frontend call graph

Residual risk

  • kotoba and compiler grammar/effect parity gats dey compared steady steady
T3-CONFINEMENT

Ungrant capability no dey or e no bind, e no fit reach provider or native handler.


Trusted computing base

policy intersection · compiler import emission · tender import binding · host guard

Residual risk

  • provider and native implementations must independently validate resource scope
  • production effective grants must forbid wildcard scope
T4-DETERMINISM

The same admitted source, target, policy and lock go produce the same observable pure result and artifact bytes.


Trusted computing base

canonical reader · deterministic lowering · pinned toolchain

Residual risk

  • host effects na deterministic only where their capability contract talk am so
T5-RESOURCE-BOUNDS

Source, admission, execution, memory and output dey use explicit finite bounds.


Trusted computing base

admission limits · fuel meter · runtime quota · supervisor timeout

Residual risk

  • platform supervisors never get equal production isolation evidence yet
T6-SUPPLY-CHAIN

Release admission dey bind artifact identity, trusted signer, validity and reproducible evidence.


Trusted computing base

signature verifier · trusted signer configuration · clock · revocation set

Residual risk

  • key custody and external revocation distribution still dey operational TCB
T7-BACKEND-PARITY

One shared portable component get equal acceptance, result and effect trace across qualified backends.


Trusted computing base

shared conformance manifest · backend adapters · comparison runner

Residual risk

  • compiler-only features no dey portable and dem must reject by portable profiles
T8-HOST-RESOURCE-SCOPE

Component import reach im provider or native handler only with concrete post-intersection resource scope and e emit receipt.


Trusted computing base

capability intersection · host guard · provider handler · receipt sink

Residual risk

  • provider-specific path, redirect, symlink and tenant checks need Q5 kits

Qualification Q1, as of 2026-07-18.

Release binding

Language profile and implementation release separate until signed envelope bind dem.

LANGUAGE

Profile 6

package contract 1

IMPLEMENTATION

v0.7.0

profile binding: verified

PUBLIC DEFAULT

RELEASED

:docs/release-bound-profile

Kotoba v0.7.0 for darwin-arm64 na di public implementation wey bind to language profile 6 and package contract 1. E signed envelope dey verify di source tree, artifact digest, and 536-test / 8,580-assertion conformance result. Other platforms still no bind.

Read di generated release evidence
04 Start to use am

Start for sixty seconds

Install and self-check

brew tap kotoba-lang/kotoba
brew trust kotoba-lang/kotoba
brew install kotoba
kotoba selfhost check --json

Accept valid response wey get empty problem list.

First program

(defn main []
  (+ 40 2))

Dis program no request host imports; di emitted module no get imports.

Learn, try, then go deeper

One connected path from first program to language contracts, libraries, evidence, and deployment surfaces.

LEARN

Docs by intent

Start with installation, learn the admitted language, or inspect the normative semantics and conformance data.

Open documentation map
READ CODE

One source, one answer

The example wey dey below na the exact source wey dem compile into the browser demo—not be JavaScript reimplementation.

Read di sample
RUN

Run for dis page

Load same-origin, digest-bound WebAssembly artifact and call its exported Kotoba main function.

Open Play
BUILD

Libraries and contracts

Browse bounded core names, foundational libraries, package rules, and dia current maturity boundary.

Browse libraries

Small Kotoba program, wey dey run for real

Amu dey compile dis pure Kotoba source to wasm32-browser profile. Di checked-in artifact no get imports and e return 42.

KOTOBA SOURCE
;; W1 pure representative: ordinary Clojure-shaped values/functions only.
(ns examples.w1-pure)

(defn double [n]
  (+ n n))

(defn main []
  (double 21))

Highlighting authority: kotoba-lang/grammarkotoba.grammar.highlight/tokenize → build-time HTML. Editor scope contract: source.kotoba. Browser highlighter dependency: none. Inspect dependencies

Compile locally: kotoba compile double-21.kotoba --target wasm32-browser --output double-21.wasm

PLAY · WEBASSEMBLY

Run di verified artifact

Di browser dey fetch 344 bytes, e verify SHA-256, e reject every import, e instantiate di module, then e call main().

Expected result: 42

Ready. No code don run yet.

Dis one dey run precompiled, immutable example. Editing any source for browser no be compiler surface wey dem don ship yet.

Interactive demos: solar-helix (guest-driven WebGPU render) · kami-survivors (na .kotoba game) · gpu-clear (WebGPU smoke). Hosted on di wasm-webcomponent GitHub Pages surface; availability depend on per-browser WebGPU/WebAssembly support.

Libraries, without hiding di package boundary

Kotoba libraries na content-addressed graphs. Names and GitHub repositories dey help people find dem; definition and signed release CIDs talk exactly wetin dem be.

BOUNDED CORE

Generated symbol reference

Search di names wey di current bounded standard-library contract admit.

Browse core symbols
FOUNDATIONAL

Data, effects, I/O, tooling

Start with coll, spec, json, text, wit, async, time, fs, http, test, fmt, lint, and LSP contracts.

Browse the library map
PACKAGE CONTRACT

Content-addressed dependencies

Inspect exact dependency CIDs, identity layers, GitHub provenance, and di current publication boundary.

Open the library catalog and publish flow

Browse whole organisation by tag

Dem get 2,215 public repositories for di kotoba-lang organisation. Every tag below na GitHub topic of di same name, so di site filter and di org topics na one vocabulary instead of two wey dey drift. Pick one to open catalogue wey don filter already.

Browse and filter all 2,215 repositories

Repository no be published package. Exactly 1 library dey published through content-addressed registry; di rest for dis list na discovery. Repository maturity labels no mean 1.0 API stability, broad adoption, or production SLOs, and 255 repositories no match any domain rule and dem show am untagged instead of to give di nearest label.

Search di checked reference

Search commands, standard-library names, diagnostics, and release status. Index dey generated from machine authorities and e dey for dis page.

Try: compile, option-some, docs/link-missing

release

Release binding

Kotoba v0.7.0 for darwin-arm64 na di public implementation wey bind to language profile 6 and package contract 1. E signed envelope dey verify di source tree, artifact digest, and 536-test / 8,580-assertion conformance result. Other platforms still no bind.

Open reference
cli

kotoba id

Create chain-neutral Kotoba principal enrollment plan wey passkey dey control. Smart accounts na explicit CAIP-10 links; no chain or provider na identity root.

Open reference
cli

kotoba run

Compile and run Kotoba entry point.

Open reference
cli

kotoba compile

Compile Kotoba-family source to target artifact. Web .kotoba dey use checked KIR and restricted kotoba-script backend; .cljs still be ClojureScript.

Open reference
cli

kotoba check

Validate Kotoba source, contracts, or package metadata without running am. Compiler adapter: frontend admit + --profile pure-product (T9.2).

Open reference
cli

kotoba graph

Query and transact di language graph store (kgraph) with Datomic-shaped operations.

Open reference
cli

kotoba git

Expose Kotoba repository operations as data, no be shell-specific behavior.

Open reference
cli

kotoba rad

Run rapid application development workflows over Kotoba packages.

Open reference
cli

kotoba build

Build Kotoba project into its checked target artifact. Na the direct project lifecycle command; rad build still be compatibility spelling.

Open reference
cli

kotoba test

Check and run the admitted tests for Kotoba project. Na direct project lifecycle command dis be; rad test still be compatibility spelling.

Open reference
cli

kotoba deploy

Plan and apply package desired-state to local receipt or murakumo fleet reside target.

Open reference
cli

kotoba library

Inspect and publish content-addressed library namespace through di existing Kotoba codebase and IPNS publication path.

Open reference
cli

kotoba hinshitsu

Run software-quality checks (evidence, gates, coverage, visual regression) as data.

Open reference
stdlib

comp2

Bounded core standard-library public name.

Open reference
stdlib

concat

Bounded core standard-library public name.

Open reference
stdlib

err

Bounded core standard-library public name.

Open reference
stdlib

err?

Bounded core standard-library public name.

Open reference
stdlib

every?

Bounded core standard-library public name.

Open reference
stdlib

find

Bounded core standard-library public name.

Open reference
stdlib

group-by

Bounded core standard-library public name.

Open reference
stdlib

merge

Bounded core standard-library public name.

Open reference
stdlib

ok

Bounded core standard-library public name.

Open reference
stdlib

ok?

Bounded core standard-library public name.

Open reference
stdlib

option-none

Bounded core standard-library public name.

Open reference
stdlib

option-none?

Bounded core standard-library public name.

Open reference
stdlib

option-some

Bounded core standard-library public name.

Open reference
stdlib

option-some?

Bounded core standard-library public name.

Open reference
stdlib

option-value

Bounded core standard-library public name.

Open reference
stdlib

partial1

Bounded core standard-library public name.

Open reference
stdlib

range

Bounded core standard-library public name.

Open reference
stdlib

range-step

Bounded core standard-library public name.

Open reference
stdlib

reverse

Bounded core standard-library public name.

Open reference
stdlib

reverse-into

Bounded core standard-library public name.

Open reference
stdlib

select-keys

Bounded core standard-library public name.

Open reference
stdlib

some

Bounded core standard-library public name.

Open reference
stdlib

stdlib-binary-closure-anchor

Bounded core standard-library public name.

Open reference
stdlib

unwrap-err

Bounded core standard-library public name.

Open reference
stdlib

unwrap-ok

Bounded core standard-library public name.

Open reference
stdlib

update

Bounded core standard-library public name.

Open reference
stdlib

zipmap

Bounded core standard-library public name.

Open reference
diagnostic

:command/unknown

The command wey you request no dey for public CLI contract. Use command wey lang/cli.edn generate.

Open reference
diagnostic

:contract/invalid

Di CLI contract fail structural validation. Check di structured :errors collection; no dispatch di command.

Open reference
diagnostic

:version/unsupported

Di requested language or package contract version no dey known. Choose version wey dey under :supported for lang/version-policy.edn.

Open reference
diagnostic

:version/removed

Di requested contract version don remove. Make you migrate to di active version before you compile or run am.

Open reference
diagnostic

:version/deprecation-expired

Di compatibility window for deprecated version don finish. Make you apply di migration wey di version policy talk.

Open reference
diagnostic

:release/invalid-semver

Release identifier no be strict SemVer. Use MAJOR.MINOR.PATCH with optional valid pre-release or build suffix.

Open reference
diagnostic

:docs/no-release-bound-profile

No published implementation evidence wey bind di active language profile. Make di public default remain blocked until signed release envelope bind di implementation and profile.

Open reference
diagnostic

:docs/link-missing

A checked document dey point to missing local target. Restore the target or update the authority map and regenerate the reference.

Open reference
diagnostic

:docs/profile-version-drift

Grammar, surface, and elaboration authorities no agree on di language profile. Make authorities agree before you publish documentation.

Open reference
diagnostic

:docs/generated-drift

Committed generated reference no match machine authority. Run nbb scripts/generate-docs-reference.cljs and commit result.

Open reference
diagnostic

:docs/validation-result-invalid

User-validation observation no complete or e overclaim external result. Record participant class, task, outcome, evidence, and observed time.

Open reference

No query dey leave the browser.

05 Around di language

Roadmap: widen only after the boundary hold

NOW

One versioned contract

Keep grammar, effects, checked KIR, target adapters, qualification, and first-run documentation aligned.

NEXT

Close provider gaps

Expand typed request/result conformance, adversarial testing, receipts, revocation, and reproducible release operations.

LATER

Earn wider deployment

Make production use big after provider, host-isolation, rollback, and soak evidence—plus grow inspectable declarative libraries.

Read di maintained roadmap and non-goals

Roadmap items na direction, no be promises of shipped capability or delivery dates.

Build di community for public

Kotoba never claim big community yet. Today di honest public meeting points na di source repositories, issue trackers, release history, and security channel.

DISCUSS & REPORT

Language issues

Ask design question, propose documentation improvement, or report reproducible language-contract problem.

Open language issues
IMPLEMENT

Compiler and CLI issues

Follow implementation work, releases, target support, and runtime integration for the installable implementation.

Open implementation issues
SECURITY

Report privately

Use di published security policy for vulnerabilities; no make you talk exploitable details for public issue.

Read security policy

Explore all public Kotoba repositories

Safe code. Trusted state. Controlled execution.

BLOG

Evidence before slogans

Read short engineering notes wey connect product claims to measurements, authority files, and remaining gates.

Read di Kotoba blog
KOTOBA CLOUD

Controlled execution

Kotoba Cloud dey connect identity and deploy control to the execution environment. Discovery dey live; hosted apply no dey offered yet. Compute still dey provided by separately governed services.

Open Kotoba Cloud
KOTOBASE

Trusted graph state

Kotobase na di content-addressed graph database for AI state and knowledge: explicit relationships, identifiable history, and scoped access.

Open Kotobase
MURAKUMO

Compute and inference plane

Fleet compute and model-serving infrastructure. Availability and route qualification still service-specific.

Open Murakumo
ITONAMI

Agent work plane

Continue agent work across workspaces, goals, evidence, tools, approvals, and governed effects.

Open Itonami

Dem services get separate authority, availability, and qualification boundaries. Their connection no mean say every Kotoba capability dey available as general hosted service.

Read di contract or run di implementation

LANGUAGE AUTHORITY

kotoba-lang/kotoba-lang

Grammar, semantics, capability contracts, safety claims, CLI contract, documentation, and conformance fixtures.

Read di language authority
INSTALLABLE IMPLEMENTATION

kotoba-lang/kotoba

CLI, host integrations, providers, runtime adapters, integration tests, and target-specific qualification evidence.

Open di implementation
DOCUMENTATION

Learn, build, or evaluate

Separate paths for first use, language reference, backend implementation, security boundaries, and maturity evidence.

Choose documentation path

Language profile 6; public-default release status: RELEASED.

Di primary portable platform na WebAssembly Components with WASI 0.3.0. Di elaboration pipeline get 11 named, fail-closed stages.