Bloom: A Language for Disorderly Distributed Programming
summary
Bloom claims monotone programs yield eventual consistency and shows a prototype toolchain that finds nonmonotonic spots and inserts coordination. It uses Bloom logic (Daedalus) implemented as Bud (Ruby DSL) plus other ports (Erlang, JS), demonstrates CRDTs, vector clocks, a replicated key‑value store and a chat server, and even a Paxos example. Analysis flags where to use Zookeeper Paxos or two‑phase commit. The implementation is experimental and educational but works enough to run bud sandbox ~20 apps and a Paxos demo.
AI-written summary · about
chapters (47)
- 0:00Intro
- 0:55Who am I
- 1:07What do I do
- 1:23Formal Verification
- 1:39Think Distributed Podcast
- 2:01Swipely
- 2:16Boom
- 3:00Outline
- 3:28Programming Model
- 4:25The Problem
- 6:44Scaling
- 7:03Cap Theorem
- 9:27Linearizability
- 15:10Associativity
- 15:32Commutativity
- 15:49Heavy Math
- 16:03Bounded Joint Semilattices
- 16:32Object Growth
- 16:50Bounded Joint Semi Lattice
- 18:00Set Lattice
- 18:45Integer Lattice
- 19:29Boolean Lattice
- 19:43Monotonic Lattice
- 25:01Merge
- 26:24composability
- 26:43common theorem
- 27:02logical monotonicity
- 27:22consistency guarantee
- 28:12nonmonotonic functions
- 29:14disorderly programming
- 30:22daedalus
- 31:28Rules for Computation
- 32:14Monotone Functions
- 32:45Coordination
- 33:58Operational Model
- 34:34Timestep Execution
- 34:45Event Loop
- 35:08Rules
- 35:55Chat Server
- 41:10Monotonic
- 42:38Chat Client
- 43:21KeyValue Store
- 45:10Replicate
- 45:32Vector clocks
- 46:23Communication analysis
- 46:40Coordination analysis
- 47:28Conclusion








