Lazy Evaluation
Lazy evaluation defers computation until the result is needed, avoiding unnecessary work and enabling infinite data structures.
Purpose
Compute on demand to save resources, supporting infinite sequences and pipeline optimization.
Mechanism
Haskell is lazy by default. JavaScript simulates it with generators/iterators. React useMemo/useEffect compute lazily. Stream pipelines are lazy: filter/map do not run until a terminal operation.
Use cases
- Performance optimization
- Infinite sequences
- Lazy pipelines