Typed FP on the Job Why Bother
summary
Claim: pure typed FP yields executable guarantees that cut defects and let code be reasoned about without exhaustive tests. Examples use Scala Zed and HTTP for us code: a function that fails one time in three is wrapped as a Task, errors become values, a generic logging decorator compiles once and cannot do anything else, and a three-line retry-via-streams solution powers the funnel distributed monitoring system. A Reason ml rewrite of half of Facebook messenger reports bug counts dropping to ~10/year, two orders of magnitude down.
AI-written summary · about
chapters (9)
- 0:00The case for functional programming
- 3:16Treating functions as values
- 7:01Introduction to monads and error
- 10:44Declarative logging utility
- 17:50Testing with the REPL
- 19:30Implementing retry logic
- 29:10Demonstrating the retry utility
- 31:44Functional HTTP services
- 35:52Conclusion and benefits
related talks
50mWhy I Like Functional Programming
01h 00mIntro to FP in Scala: Exploring a Toolbox for Solving Problems - Part 1 of 6
43mThe Big Problems Facing Functional Programming & a Possible Solution
38mA song of types and errors (...)
45mThe Structure of Programming Revolutions
51mWe're Doing It All Wrong
28mHow to Get Started With Functional Programming
48mPutting Down the Golden Hammer
