On Thu, 2011-12-29 at 18:07 +0000, Steve Horne wrote:
By definition, an intentional effect is a side-effect. To me, it's by
deceptive redefinition - and a lot of arguments rely on mixing
definitions - but nonetheless the jargon meaning is correct within
programming and has been for decades. It's not going to go away.
Basically, the jargon definition was coined by one of the pioneers of
function programming - he recognised a problem and needed a simple way
to describe it, but in some ways the choice of word is unfortunate.
I don't believe this is true. "Side effect" refers to having a FUNCTION
-- that is, a map from input values to output values -- such that when
it is evaluated there is some effect in addition to computing the
resulting value from that map. The phrase "side effect" refers to a
very specific confusion: namely, conflating the performing of effects
with computing the values of functions.
Yes - again, by definition that is true. But that definition is not
the everyday definition of side-effect. Repeating and explaining one
definition doesn't make the other go away.