Introducing HDD: Hughes Driven Development
summary
Elixir adds a code formatter (based on Hughes’s document algebra) and a property-testing library via stream_data; formatter ships in v1.6/v1.7 and runs fast enough in editors via mix format, shrinking the style guide and avoiding code changes, while stream_data remains a separate library providing lazy, size-aware, shrinkable generators for property tests. Implementation notes include adapting Hughes/Wadler ideas to strict evaluation (strictly pretty) to avoid exponential duplication. Community size: ~700 contributors, ~6,000 packages, ~175M downloads.
AI-written summary · about
chapters (15)
- 0:00Start
- 1:19Elixir v1.6
- 2:43Elixir v1.7
- 3:08Data generation
- 8:40Code Formatter principles
- 12:20Documents
- 16:18Flexible layout
- 20:14Document Algebra
- 21:03Extensions
- 21:59force_unfit (doc)
- 23:25Example-based testing
- 26:15Property-based testing
- 28:50Generators...
- 31:06Generators are shrinkable
- 33:11Generators are functions








