Preface
Dacite lets you write programs over immutable values while stores persist and transmit them. Values are content-addressed: identity is the hash, updates return new values, unchanged parts are shared. A rooted store adds one mutable root hash so a running program has a current snapshot.
This book is for people writing applications. Implementors of a new host or store backend will want How it works as well.
Reading
- The Dacite way — the stance on data.
- Install — nbb (fastest) or JVM.
- Anatomy of a Dacite app — Values / Store split,
root-ref, public API. - One tutorial that matches what you are building (a document, history, a large sequence, two writers, blobs, a browser UI).
- The cookbook for field reads, updates, and commit loops.
- Values and Stores when you need a function.
How it works is the four-layer model (content stores, hash fusion, values, rooted stores) plus pack transport. Skip it until the application recipe is clear — or until you are changing the library.
For
Application authors first. Implementors and designers second.
Jonathan & Gorm, 2026