Synod documentation
Synod is a small language for watching distributed systems think. You write the nodes, the messages and the faults; the simulator runs them; you watch what happened and check what must never happen.
Everything on these pages runs the same synod that you install on your machine,
compiled to WebAssembly: edit a program, press Run, and read the diagnostics or
watch the animation. If you are new, start with the tutorial; it builds up from one
sentence to a working Raft election.
Tutorial
Fifteen short chapters, from one sentence to a working Raft election.
Reference
The specification of the language, one page per chapter.
Library
Every standard package and phrase, each with a runnable example.
Examples
Raft, Paxos, two-phase commit and more. Run them, edit them, break them.
Guides
Install Synod, write a look, publish a package, use agents.
Errors
Every diagnostic code: what it means, a program that shows it, and the fix.
Design
The principles behind the language and the decisions that shaped it.
Tribute
Leslie Lamport's Part-Time Parliament and why we call it Synod.