Pure Function

Pure Function

In computer programming, a function may be described as pure if both these statements about the function hold:

  1. The function always evaluates the same result value given the same argument value(s). The function result value cannot depend on any hidden information or state that may change as program execution proceeds or between different executions of the program, nor can it depend on any external input from I/O devices.
  2. Evaluation of the result does not cause any semantically observable side effect or output, such as mutation of mutable objects or output to I/O devices.

The result value need not depend on all (or any) of the argument values. However, it must depend on nothing other than the argument values. The function may return multiple result values and these conditions must apply to all returned values for the function to be considered pure. If an argument is call by reference it is considered to be a combination of one argument and one return value and so the argument will get overwritten; because of this call by reference will make an expression impure even if the function called is pure.

Read more about Pure Function:  Pure Expressions, Impure Functions in Pure Expressions, See Also

Famous quotes containing the words pure and/or function:

    “There is no country in which so absolute a homage is paid to wealth. In America there is a touch of shame when a man exhibits the evidences of large property, as if after all it needed apology. But the Englishman has pure pride in his wealth, and esteems it a final certificate. A coarse logic rules throughout all English souls: if you have merit, can you not show it by your good clothes and coach and horses?”
    —Ralph Waldo Emerson (1803–1882)

    “As a medium of exchange,... worrying regulates intimacy, and it is often an appropriate response to ordinary demands that begin to feel excessive. But from a modernized Freudian view, worrying—as a reflex response to demand—never puts the self or the objects of its interest into question, and that is precisely its function in psychic life. It domesticates self-doubt.”
    —Adam Phillips, British child psychoanalyst. “Worrying and Its Discontents,” in On Kissing, Tickling, and Being Bored, p. 58, Harvard University Press (1993)