Let's Get Lazy
summary
Argues that laziness — doing work only when needed — yields scalability gains and lower work counts: demonstrates Haskell normal order skips unnecessary calls, Scala lazy values and Java Supplier + lambdas simulate laziness, and Java 8 streams are lazy to pipeline filters/maps vertically. Concrete numbers: a 10-element filter/map finds the result in 8 operations versus 21 for a naive approach; a stock-fetch example shows an eager list-based run ~14s while a lazy stream version returns the first match in ~3s.
AI-written summary · about
chapters (9)
- 0:00Introduction to laziness
- 2:09Applicative vs normal order
- 8:54Benefits of lazy evaluation
- 16:02Making Java lazy with lambdas
- 21:40Java streams and lazy execution
- 32:31Lazy evaluation in real-world problems
- 37:11Infinite series and problem solving
- 43:56Redesigning APIs for laziness
- 58:17Summary and takeaways
related talks
58mLet’s Get Lazy—The Real Power of Functional Programming
47mLet's Get Lazy: Exploring the Real Power of Streams
49mLazy Java
36mWorking Hard to Keep Things Lazy
01h 06mDesigning Applications with Functional Programming Constructs
40mWhat Haskell taught us when we were not looking
49mJava Functional Programming Idioms
01h 06mThe Joy of Functional Programming
