Poka Yoke Mistake proofing via Functional Programming
summary
Shows concrete poka-yoke patterns: use Elixir’s supervision trees to “let it crash” and auto-restart processes instead of try/catch spaghetti; use Elm’s purity and time-as-input to enable deterministic time-travel debugging; use F# units of measure to catch mismatched inches vs centimeters (Mars orbiter example) at compile time; use Idris dependent types to enforce vector lengths and avoid runtime size errors; and run built‑in Elixir property-based testing to generate tens of thousands of cases and reveal missing colors like purple and gray.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 0:48Poka Yoke
- 3:27Characters
- 4:05Our error is unavoidable
- 5:37Prediction and detection
- 7:34Lean manufacturing over diligence
- 8:41Defining the best cookie
- 11:03Defining mistakes
- 12:30Mistakes and software development
- 13:06Immutability
- 16:27Purity
- 20:19Danger
- 23:14Pattern matching
- 24:30Fsharp
- 25:00Units of Measure
- 26:17Dependent Types
- 27:52C Docs
- 29:39C Sharp
- 35:44Happy Path
- 37:31Elixir
- 41:12Erlang VM
related talks
28mLanguage Support for Property-Based Testing
41mFunctional Programming for Pragmatists
47mThe Tension Between Expediency and Correctness
44mFunctional Programming You Already Know
39mFunctional Concepts in Elixir
41mFunctional programming: Give it a chance!
46mTesting in the world of Functional Programming
58mKeynote: Why Functional Programming Matters
