Out of the Tarpit with Project M36
summary
Project M36 implements the paper Out of the Tarpit by providing a TutorialD dialect, Haskell embedding and GADT-backed types that remove nulls from the schema, plus a git-like transaction graph for branching, merging and rollback. It exposes notifications/observers over WebSockets, supports declarative inclusion and uniqueness constraints, and can materialize limited isomorphic schemas for accidental state. The codebase is usable for experiments but not yet broadly production-ready; the live demo shows constraints enforced and notifications firing as expected.
AI-written summary · about
chapters (11)
- 0:00Start
- 5:01Simplicity is hard
- 6:07FRP Architecture
- 10:41System components
- 14:32FRP in Project M36
- 15:43Users Database
- 16:07Essential State
- 38:46Observers
- 39:00Feeders
- 39:11Accidental State & Control
- 40:26Give Project-M36 a whirl
related talks
28mProject Mentat: a store for evolving data in Rust
41mDatomic Auto Schemas
54mImplementing a database in Haskell
58mDeveloping Web Applications with Haskell
36mBeyond dbt: Modern SQL Transformation and Lineage with SQLGlot and SQLMesh
41mThese 10000 classes I never wrote
52mFull stack FP in Datomic, Clojure, and ClojureScript
43mDatalog all the way down
