Referential transparency (computer science) | Wikipedia audio article
Channel: wikipedia tts
Date: 26/03/2019

This is an audio version of the Wikipedia Article:
https://en.wikipedia.org/wiki/Referential_transparency


00:01:30 1 History
00:02:33 2 Examples and counterexamples
00:04:41 3 Contrast to imperative programming
00:05:51 4 Another example
00:06:00 5 See also
00:07:59 6 References
00:08:22 7 External links
00:08:36 6 + 1
00:08:49 4 + 1
00:10:30 globalValue; integer p
00:10:54 globalValue; integer p
00:11:17 globalValue; integer p
00:11:39 globalValue; integer p
00:11:58 x - y - 1; globalValue
00:12:35 See also



Listening is a more natural way of learning, when compared to reading. Written language only began at around 3200 BC, but spoken language has existed long ago.

Learning by listening is a great way to:
- increases imagination and understanding
- improves your listening skills
- improves your own spoken accent
- learn while on the move
- reduce eye strain

Now learn the vast amount of general knowledge available on Wikipedia through audio (audio article). You could even learn subconsciously by playing the audio while you are sleeping! If you are planning to listen a lot, you could try using a bone conduction headphone, or a standard speaker instead of an earphone.

Listen on Google Assistant through Extra Audio:
https://assistant.google.com/services/invoke/uid/0000001a130b3f91
Other Wikipedia audio articles at:
https://www.youtube.com/results?search_query=wikipedia+tts
Upload your own Wikipedia articles through:
https://github.com/nodef/wikipedia-tts
Speaking Rate: 0.9531801846311627
Voice name: en-GB-Wavenet-C


"I cannot teach anybody anything, I can only make them think."
- Socrates


SUMMARY
=======
Referential transparency and referential opacity are properties of parts of computer programs. An expression is called referentially transparent if it can be replaced with its corresponding value without changing the program's behavior. This requires that the expression is pure, that is to say the expression value must be the same for the same inputs and its evaluation must have no side effects. An expression that is not referentially transparent is called referentially opaque.
In mathematics all function applications are referentially transparent, by the definition of what constitutes a mathematical function. However, this is not always the case in programming, where the terms procedure and method are used to avoid misleading connotations. In functional programming only referentially transparent functions are considered. Some programming languages provide means to guarantee referential transparency. Some functional programming languages enforce referential transparency for all functions.
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.