Let's Get Lazy
summary
Explains lazy evaluation with live demos in GHCi/Haskell, Scala lazy vals and Java lambdas using Supplier, shows Streams fuse intermediate ops and defer work until terminal ops, and demos infinite streams and takeWhile/limit. Uses IntelliJ’s stream visualizer for debugging. Claims a real Java project with functional refactors cuts a 14-hour job over huge data to a few hours after optimizing pipelines over 53 billion computations. Highlights Supplier + Stream fusion and when parallel streams defeat laziness.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:15What is laziness
- 4:50Example
- 9:45Scala
- 13:05Java
- 18:25Lazy evaluation
- 23:05Collections and laziness
- 24:55Example of laziness
- 33:05List vs Stream
- 38:30Infinite streams
- 43:00Reactive programming
- 48:05Parallel streams
- 49:48Use cases
- 52:30Performance problems
- 53:30Exception handling
- 55:20Side effects of functional programming
- 57:06Real world use cases
related talks
50mLet’s Get Lazy: Explore the Real Power of Streams
47mLet's Get Lazy: Exploring the Real Power of Streams
49mLazy Java
01h 02mHaskell for Java Programmers
01h 02mFunctional Programming in Java, Groovy, and Kotlin
49mJava Streams: Beyond The Basics
52mFunctional Programming with Java 8
38mJava 8: Functional programming
