Op is idempotent if re-evaluation of the operation with the same arguments is going to produce the same results, without any extra side effects as long as previous evaluation did not throw.
Op is idempotent if re-evaluation of the operation with the same arguments is going to produce the same results, without any extra side effects as long as previous evaluation did not throw.
Op is pure if it doesn't have any side-effects, including:
Op is pure if it doesn't have any side-effects, including:
* doesn't throw exceptions * doesn't perform any unsafe reads or writes from the memory * doesn't call foreign code
Recomputing pure op will always yield to the same result.