> 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

Reply via email to