The concept of referential transparency is related to and affected by functionalside effects.
A program has the property of referential transparency if any two expressions in the program that have the same value can be substituted for one another anywhere in the program, without affecting the action of the program