Referential Transparency
释义 Definition
指称透明性 / 引用透明性:在表达式或函数中,只要输入相同,结果就相同,并且该表达式可以被它的求值结果直接替换而不改变程序行为。这是函数式编程与形式化推理(如等式推理)的核心概念。(在不同语境下也可能有更一般的“指称/语义不受上下文影响”的讨论,但在编程里以上含义最常见。)
发音 Pronunciation (IPA)
/ˌrɛfəˈrɛnʃəl trænsˈpærənsi/
词源 Etymology
- referential 来自 reference(“指称、引用”),强调“关于指称/引用的”。
- transparency 来自拉丁语 *trans-*(“穿过”)+ parere(“显现”),引申为“透明、可看穿”。
合起来表示:表达式的“指称关系是透明的”——也就是可以“看穿”表达式,用其结果替换而不影响含义。
例句 Examples
A pure function has referential transparency: the same input always gives the same output.
纯函数具有引用透明性:相同输入总会得到相同输出。
Because the logging call breaks referential transparency, you can’t safely replace the expression with its value in every context.
由于记录日志的调用破坏了引用透明性,你无法在所有上下文中都安全地用该表达式的值替换它。
相关词 Related Words
文学与经典作品 Literary / Notable Works
- Types and Programming Languages(Benjamin C. Pierce)——在讨论语言语义与可替换性、求值与等式推理时常提及相关概念。
- *Structure and Interpretation of Computer Programs (SICP)*(Abelson & Sussman)——强调用替换模型理解程序(与引用透明性的思想高度相关,部分版本/讨论中会直接使用术语)。
- Purely Functional Data Structures(Chris Okasaki)——以“纯函数/无副作用”为前提,常与引用透明性一起出现于论证与实现思路中。
- Programming in Haskell(Graham Hutton)及其他 Haskell 教材/文档——在介绍纯函数式语言特性与推理方法时频繁使用该术语。