On 12/07/19 19:04, Werner LEMBERG wrote:
> 
>> Functions like transpose act destructively on their argument, so you
>> need a copy or the original will get changed.  [...]
> 
> How can Joe User find out whether a function is acting destructively?
> 
Computer pedant here :-)

Functions do not have side effects, and for any given input they always
return the same output. So if this is a PROPER function, it cannot act
destructively :-)

Obviously it isn't, so it's technically a subroutine that returns a
value. Dunno how you tell the difference, but that's why you get
computer languages where all variables are "write once" - everything is
based on proper functions.

Maybe the documentation should make a point of saying whether functions
are "proper" or "improper". :-)

Cheers,
Wol


_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to