> On Apr 18, 2015, at 11:21 AM, Urs Liska <u...@openlilylib.org> wrote: > > So the choice of these names is actually an inconsistency in LilyPond's > terminology? > > I'm asking this because I have just completed a tutorial about > define-music-function and its siblings, and I realized that I used the terms > function and procedure in an arbitrary mix. > > Now I think that I should follow the consistency of the Guile manual , use > "procedure" everywhere in my text and point out the inconsistency in naming.
This terminology is something that I’ve wondered about. My speculation was that the use of “function" in LilyPond’s define-music-function and friends might be because they have type checking for their arguments, whereas scheme procedures do not. That’s just speculation, but it’s also probably the most relevant difference for a LilyPond user. (Also I assume that define-music-function and friends were mostly intended for internal use in LilyPond’s source code? So there’s that.) Here’s wikipedia: > In formal contexts such as Scheme standards, the word "procedure" is used in > preference to "function" to refer to a lambda expression or primitive > procedure. In normal usage the words "procedure" and "function" are used > interchangeably. https://en.wikipedia.org/wiki/Scheme_%28programming_language%29#Nomenclature_and_naming_conventions So in your post I would say use “function” for these special cases of define-music-function and friends and “procedure" for standard scheme procedures. And maybe discuss the terminology, pointing out that these terms are basically interchangeable for most intents and purposes. -Paul _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user