The stack
Programming as and
for inference
You never have to read this page to use Simmis. It's the technical companion to the homepage — for the curious, and for Clojure programmers. The bet underneath the whole product: many small tries beat one perfect answer, so the leverage point is a substrate that makes "try another version" cheap. Everything below is built to make branching — of data, computation, and reasoning — nearly free.
A ~30-minute technical introduction to the stack (London Clojurians, 2026).
Three multipliers
Inference has a price — every scenario costs compute. The stack lowers that price three ways:
- Cheap forward — extend a scenario quickly. Raster · Spindel
- Cheap amortisation — approximate a whole space of scenarios at once. deep nets, LLMs
- Cheap pruning — discard paths before enumerating them. Datahike · Ansatz
The layers
Memory — the data foundation
State kept as values, branchable like git. Datahike (immutable Datalog) and its siblings — SQL, vector, and full-text search — share one copy-on-write branching model and have their own home at datahike.io. Yggdrasil coordinates a single fork across all of them.
Modeling — numbers and proofs
Raster is fast numerical computing: write math
with deftm, get JVM-primitive or GPU performance, with automatic differentiation for
training and Bayesian inference. Ansatz lets you
write Clojure, prove it correct against Lean 4's kernel, and run it as ordinary JVM code — verification
where it matters.
Integration — the inference runtime
Spindel is a reactive runtime whose execution
context — every signal, cached result, and continuation — is a value you can fork in O(1). Probabilistic
programming rides on it: sample / observe / intervene are
effects, and inference kernels (importance sampling, SMC, MCMC) are context-forks. It's the engine
behind the inference and
causal notes.
Agents — modeling at scale
Dvergr puts LLM agents inside the same versioned substrate humans use. Agents model the domain — build pages, fit numerical models, derive proofs — each action a bounded Task that forks the world, runs, and is accepted or rejected. Trying something in a model is far cheaper than trying it in reality; agents do that for us, at scale.
How they compose
Your question becomes a model, scenarios fork off it, inference scores them, and what works merges back — the same loop the homepage describes, here with the pieces named.
Two open invitations
The infrastructure is open source and independently useful — fork a piece, use it on its own. Simmis is the platform where it all comes together for end users.