This article is about referential transparency in programming language theory. For its use in linguistics and philosophy, see Opaque context. In analytic philosophy and computer science, referential transparency and referential opacity are properties of linguistic constructions,[1] and by extension of languages. A linguistic construction is called referentially transparent when for any expression