Impure Functions in Pure Expressions
The definitions above still allow some laxity with regard to purity. It is possible for a pure expression to yield an impure function (or more generally a value which contains one or more impure functions).
It is also possible for an expression to be pure even if one or more of the argument subexpressions yields an impure function (or a value which contains one or more impure functions). In this case the impure function(s) in the argument must not be applied during evaluation (but may be incorporated in the result somehow). However, dealing with programs that allow impure and pure functions to be mixed like this can be quite difficult in practice, thus purely functional programming languages do not allow impure functions to be defined. Effect systems, among other things, allow one to reason precisely and formally about the purity of certain expressions even in the presence of higher-order functions etc.; they even allow to prove that a certain function does not have any side effects although it uses impure operations (for example, uses a mutable array for computation internally, but does not expose it to the outer world or maintain its state between invocations).
Read more about this topic: Pure Function
Famous quotes containing the words impure, functions, pure and/or expressions:
“Gross and obscure natures, however decorated, seem impure shambles; but character gives splendor to youth, and awe to wrinkled skin and gray hairs.”
—Ralph Waldo Emerson (18031882)
“One of the most highly valued functions of used parents these days is to be the villains of their childrens lives, the people the child blames for any shortcomings or disappointments. But if your identity comes from your parents failings, then you remain forever a member of the child generation, stuck and unable to move on to an adulthood in which you identify yourself in terms of what you do, not what has been done to you.”
—Frank Pittman (20th century)
“The finite is annihilated in the presence of the infinite, and becomes a pure nothing. So our spirit before God, so our justice before divine justice.”
—Blaise Pascal (16231662)
“Its idea of production value is spending a million dollars dressing up a story that any good writer would throw away. Its vision of the rewarding movie is a vehicle for some glamour-puss with two expressions and eighteen changes of costume, or for some male idol of the muddled millions with a permanent hangover, six worn-out acting tricks, the build of a lifeguard, and the mentality of a chicken-strangler.”
—Raymond Chandler (18881959)