On Dec 15, 2013, at 11:22 AM, Trevor Daniels <t.dani...@treda.co.uk> wrote:
>
> Werner LEMBERG wrote Sunday, December 15, 2013 9:07 AM
>>
>>> raw/final would be shorter than pure/unpure.
>>
>> I like that. At least for me this is easier to understand from a
>> conceptual point of view.
>
> pencil/ink.
All of these are good - the use of “pure” (not sure who started it - maybe
Joe?) comes from:
http://en.wikipedia.org/wiki/Pure_function
1. The function always evaluates the same result value given the same argument
value(s). The function result value cannot depend on any hidden information or
state that may change as program execution proceeds or between different
executions of the program, nor can it depend on any external input from I/O
devices.
2. Evaluation of the result does not cause any semantically observable side
effect or output, such as mutation of mutable objects or output to I/O devices.
Currently, LilyPond’s pure functions do (2) but not (1). I don’t even think
it’s desirable that they do (1), as the approximation can get better over time.
(2), however, is very important. (2) would mean we’re inking things elsewhere.
Cheers,
MS
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel