A language construct that modifies the state of the system. The most common side-effects are assignment , input and output. A language without side-effects is purely-functional - execution consists of the evaluation of an expression and all subexpressions are referentially transparent .
(1995-02-16)