referential transparency
- Given name in given environment denotes the same value.
- Given expression in given environment evaluates to same value.
Advantages
Reason about programs, prove correctness and termination.
Disadvantages
Hard to express algorithms which reference locations of a random-access memory.
See imperative languages for the usecase: reference locations of a random-access memory.