Global Information Lookup Global Information

Referential transparency information


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 built from it, replacing a subexpression with another one that denotes the same value[2] does not change the value of the expression.[3][4] Otherwise, it is called referentially opaque. Each expression built from a referentially opaque linguistic construction states something about a subexpression, whereas each expression built from a referentially transparent linguistic construction states something not about a subexpression, meaning that the subexpressions are ‘transparent’ to the expression, acting merely as ‘references’ to something else.[5] For example, the linguistic construction ‘_ was wise’ is referentially transparent (e.g., Socrates was wise is equivalent to The founder of Western philosophy was wise) but ‘_ said _’ is referentially opaque (e.g., Xenophon said ‘Socrates was wise’ is not equivalent to Xenophon said ‘The founder of Western philosophy was wise’).

Referential transparency depends on the values associated to expressions, that is on the semantics of the language. So, both declarative languages and imperative languages can be referentially transparent or referentially opaque, according to the semantics they are given.

The importance of referential transparency is that it allows the programmer and the compiler to reason about program behavior as a rewrite system. This can help in proving correctness, simplifying an algorithm, assisting in modifying code without breaking it, or optimizing code by means of memoization, common subexpression elimination, lazy evaluation, or parallelization.

  1. ^ A linguistic construction (also called mode of containment, context, or operator) is an expression with holes.
  2. ^ Here a value is the denotation (also called meaning, object, or referent) of an expression, not the result of the evaluation process.
  3. ^ Quine, Willard Van Orman (1960). Word and Object (1st ed.). Cambridge, Massachusetts: MIT Press. p. 144. ISBN 978-0-262-17001-7.
  4. ^ Strachey, Christopher (1967). Fundamental Concepts in Programming Languages (Technical report). Lecture notes for the International Summer School in Computer Programming at Copenhagen. Also: Strachey, Christopher (2000). "Fundamental Concepts in Programming Languages". Higher-Order and Symbolic Computation. 13 (1–2): 11–49. doi:10.1023/A:1010000313106. S2CID 14124601.
  5. ^ Whitehead, Alfred North; Russell, Bertrand (1927). Principia Mathematica. Vol. 1 (2nd ed.). Cambridge: Cambridge University Press. p. 665. ISBN 978-0-521-06791-1.

and 19 Related for: Referential transparency information

Request time (Page generated in 0.8407 seconds.)

Referential transparency

Last Update:

In analytic philosophy and computer science, referential transparency and referential opacity are properties of linguistic constructions, and by extension...

Word Count : 1468

Transparency

Last Update:

transparency, independence of location Order-independent transparency in 3D computer graphics Referential transparency Security through transparency,...

Word Count : 326

Functional programming

Last Update:

constant with respect to that argument list (sometimes called referential transparency or idempotence), i.e., calling the pure function again with the...

Word Count : 8548

Idempotence

Last Update:

functional programming (in which it is connected to the property of referential transparency). The term was introduced by American mathematician Benjamin Peirce...

Word Count : 2887

Pure function

Last Update:

variables, mutable reference arguments or input streams, i.e., referential transparency), and the function has no side effects (no mutation of local static...

Word Count : 1244

Word and Object

Last Update:

sentence, has referential transparency: it is either referentially transparent or referentially opaque. A construction is referentially transparent if...

Word Count : 3705

Uniqueness type

Last Update:

improve the efficiency of functional languages while maintaining referential transparency. Unique types can also be used to integrate functional and imperative...

Word Count : 578

Purely functional programming

Last Update:

return value. This style handles state changes without losing the referential transparency of the program expressions. Purely functional programming consists...

Word Count : 903

Liskov substitution principle

Last Update:

Circle–ellipse problem Composition over inheritance Program refinement Referential transparency Type signature SOLID – the "L" in "SOLID" stands for Liskov substitution...

Word Count : 1191

Purely functional

Last Update:

mutable state Functionality doctrine, in intellectual property law Referential transparency This disambiguation page lists articles associated with the title...

Word Count : 83

Opaque context

Last Update:

Inscrutability of reference Masked-man fallacy Pure functions Referential transparency Transitivity of identity "Definition of "opaque context" | Collins...

Word Count : 497

Value semantics

Last Update:

definiteness, substitutivity of identity, unfoldability, and referential transparency. "Some Basic QUESTIONS". velocity reviews. Retrieved 2011-06-17...

Word Count : 328

Hygienic macro

Last Update:

identifiers and prevents accidental capture. This property is called referential transparency. In cases where capture is desired, some systems allow the programmer...

Word Count : 2417

Fundamental Concepts in Programming Languages

Last Update:

"L-value", "ad hoc polymorphism", "parametric polymorphism", and "referential transparency". The lecture notes were reprinted in 2000 in a special issue of...

Word Count : 251

List of functional programming topics

Last Update:

programming Lambda programming Static scoping Higher-order function Referential transparency Currying Lambda abstraction Church–Rosser theorem Extensionality...

Word Count : 205

Principle of compositionality

Last Update:

Processing model Opaque context — another problem for compositionality Referential transparency — in programming languages Semantic decomposition (natural language...

Word Count : 1404

Comparison of programming paradigms

Last Update:

mutable data Lambda calculus, compositionality, formula, recursion, referential transparency, no side effects Declarative C++, C#,[circular reference] Clojure...

Word Count : 2594

Willard Van Orman Quine

Last Update:

reference, ontological relativity, gavagai), radical translation, referential transparency, naturalized epistemology, meta-ontology, ontological/ideological...

Word Count : 6499

Common Lisp

Last Update:

dialect of Lisp provides a macro-writing system which provides the referential transparency that eliminates both types of capture problem. This type of macro...

Word Count : 11978

PDF Search Engine © AllGlobal.net