Are you looking for a way to get started learning Datomic, or are you picking Datomic up again after some time away from it? If so, this tutorial is for you. By building a straightforward TODO list app with Clojure and Datomic, we will identify the mental model of Datomic and demonstrate how to use its theoretical insights in a practical context. Your journey through the tutorial will equip you with the skills to continue exploring Datomic on your own. You will learn key characteristics of what makes Datomic special:
- Information accumulates over time, and change is represented by accumulating the new, not by modifying or removing the old.
- Powerful Declarative Query, Datalog joins and rules provide SQL-level power, but with an easier pattern-based syntax.
- Flexible schema, one that can change with the changing reality of your business. Modify it over time.
- History of changes built-in, how and when changes where made. We'll use this property to list the changes of the statuses over time.
- Database as a value, to execute queries a database input is expected, this input can be a database pointing at different points in time. This enables queries to any point in time out of the box.
Continue reading
Published: 2025-04-30