Referential Transparency (Pure Functions)¶
An expression is referentially transparent if it can be replaced with its value without changing program behavior; this property enables equational reasoning, safe parallelization, and memoization.
Tension Addressed¶
Mutability vs. Immutability
Recognizable As¶
Functions without side effects, deterministic computations, stateless services, mathematical functions
Canonical Sources¶
Alonzo Church, Lambda Calculus (1930s); SICP (Abelson & Sussman, 1985); John Hughes, "Why Functional Programming Matters" (1989)
Transfers To¶
Concurrency (safe parallelism), Testing (deterministic tests), Caching (safe memoization), Build Systems (incremental builds), Database Queries (query optimization)
Referential transparency is a mathematical property with profound practical implications: if order doesn't matter, parallelization is safe; if result depends only on inputs, caching is valid.
Related Concepts¶
- Immutability - Programming Paradigms
- Memoization - Performance Optimization