Lazy evaluation

Writing efficient code is an important part of software engineering. A lot of times we will see cases where an expression is expensive to evaluate due to different possible reasons—database access, complex calculations, and so on. There are cases where we might even be able to exit the application without even evaluating these expensive expressions. This is where lazy evaluation becomes helpful.

Note

Lazy evaluation makes sure that an expression is evaluated only once when it is actually needed.

Scala supports lazy evaluation in a couple of flavors: lazy variables and by name parameters. We have already seen both in this book. The former we saw when we looked at creational design patterns in Chapter 6, Creational Design Patterns ...

Get Scala Design Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.