Subject: bug#15117: 24.3.50; doc of `(forward|backward)-*': state return value

From: Nicolas Richard <[email-masked]>
Date: Tue, 11 Feb 2014 12:16:38 +0100

Andreas Röhler <[email-masked]> writes:
> Am 11.02.2014 05:01, schrieb Stefan Monnier:
>> Says you.  For me (and most definitions of side-effects I've ever seen),
>> a side-effecting function is something like a function where the calls
>> can't simply be replaced by their return value.

> Can't see a logic link between a possible return value and the notion of side-effect.
> It all depends from the purpose of the function.

I guess this is a slight misunderstanding. The notion of side-effect is
well defined in CS: « a function or expression is said to have a side
effect if, in addition to returning a value, it also modifies some state
or has an observable interaction with calling functions or the outside
world. »
(http://en.wikipedia.org/wiki/Side_effect_%28computer_science%29)

The notions of "mostly-unintended effect" (like so: (defun
my-point-at-eol (progn (end-of-line) (point)))) or "multi-purpose
functions by means of global variables" (e.g. the use of 'org-ts-what in
org-at-timestamp-p -- which is kind of scary if I may say) are only
special cases of side effects.

-- 
Nico.