jargon

Design patterns·Functional ideas that went mainstream

you replaced the call with the value it returned and the program behaved identically, which is not true of most calls.

Referential transparency

Also calledreferentially transparent, substitution property

The property that an expression can be replaced by its value without changing the program's meaning. It is the formal statement of what purity buys, and it is the licence under which memoisation, common subexpression elimination and lazy evaluation are all safe. It is the thing that quietly stops being true the moment a function reads the clock or a global.

Commonly confused with