Pipe Dreams - Getting More out of Elixir Pipes
summary
Shows macros that rewrite Elixir pipes at compile time to handle real problems: implements pipe_while to stop piping when a pattern (like an error tuple) appears, and pipe_with to wrap every stage (turn exceptions into {:error, reason} tuples or map operations over nested matrices). Demonstrates the pipeline producing "click click bang" with the final step skipped, explains using reduce/reduce_with over the AST, and reports the working prototype was ~10 lines of macro code that took about two weeks to get right.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 2:09Functional programming now
- 5:38Elixir pipes special
- 7:08Unreliable tasks in pipes
- 9:38Pipe failures with macros
- 13:28Macros for transformations
- 20:31Pipe matching return codes
- 21:35Non-uniform error handling
- 23:04Pipes with exception handlers
- 27:22Matrix math pipe wrapping
- 28:45Macros defining behavior
- 37:09Macros changing everything
- 40:02Web connections with plugs
- 42:14Macros complexity vs clarity
- 49:04Haskell's Maybe monad
- 50:35Closing thoughts & Q&A
related talks
37mMetaprogramming + DSL Design in Elixir
58mHow I learned to stop worrying and love macros
32mElixir for the rubyist
56mKeynote: Think Different
42mIntroduction to Elixir for Rubyists
03h 19mWorkshop - All Aboard The Elixir Express!
43mThe River
47mGood behaviour: Cultivating Healthy Elixir Teams & Codebases
