3.7. FuncProg Referential Transparency

3.7.1. Rationale

  • Functional programs do not have assignment statements

  • Value of a variable in a functional program never changes once defined

  • This eliminates any chances of side effects

  • Any variable can be replaced with its actual value at any point of execution [#Hughes1984]_