The Tyranny of Structurelessness
summary
Argues that adding a semantic layer — protocol-based DSL — makes Elixir code easier to reason about, reduces growth of complexity to sublinear, and lets pure-model tests stand in for distributed systems. Shows concrete code: a map proxy and an Agent-backed process DB, the exceptional error-handling pattern for bang functions, and a splits/unsplit DSL for parallel composition with swappable evaluation strategies (linear or async evaluation via tasks). Demonstrates these in libraries like witchcraft and shows they compose and test successfully.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:30Dijkstra
- 1:30Brooklyn Zelenka
- 3:15The big idea
- 7:33Code
- 10:23GoTo
- 15:10Complexity
- 21:33Abstract Mind
- 29:58Code Patterns
- 33:48Composing Properties
- 34:37Parallel Composition
- 36:01Function Composition
- 36:49Splits
- 37:22Split Layout
- 39:16Linear Data Structure
- 40:23Summary
related talks
19mStructs for order
28mWhat You See Is What It Does: A Structural Pattern for Legible Software
24mThe Alchemist's Code: Bringing More Value with Less Magic
37mModern Abstractions and the Web, and avoiding Pitfalls because Life is short
47mThe Tension Between Expediency and Correctness
44mModular Design in Elixir
43mEvident Code, at Scale
49mKeynote: How to sell Elixir (Again)
