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