Earlier quoted context omitted.
Call-by-name is just syntactic sugar for anonymous functions. It has all the same problems. But more importantly, the whole premise is wrong. "Cache invalidation" for data that has an average lifespan of 30 lines of code in a single function is not a hard problem. Real cache invalidation is hard for reasons that don't translate to the case of ephemeral constants with properly limited scope.
> Call-by-name is just syntactic sugar for anonymous functions. No, it's not. It defines different evaluation semantics.
"this will be re-evaluated every time you access it"