lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Make music functions callable from Scheme (issue 244840043 by addres


From: dak
Subject: Re: Make music functions callable from Scheme (issue 244840043 by address@hidden)
Date: Mon, 08 Jun 2015 09:17:27 +0000


https://codereview.appspot.com/244840043/diff/80001/Documentation/changes.tely
File Documentation/changes.tely (right):

https://codereview.appspot.com/244840043/diff/80001/Documentation/changes.tely#newcode68
Documentation/changes.tely:68: as if they were proper Scheme functions.
Argument checking will
On 2015/06/07 22:49:05, Keith wrote:
On 2015/06/07 22:16:00, Keith wrote:
> Skip "as if they were.." if they really are proper Scheme functions.

I guess the result of
  (define-music-function ... )
with all its type-checking and references to the source line-numbers
is
something more than a simple Scheme function, so I see why you say
"as if they
were"

Well, when called from Scheme there is not much in the line of
"references to the source line-numbers".  The result of
define-music-function would now meet the predicate procedure?, had
procedure-properties so it is sort of a function.  But it is actually a
GUILE data structure which has additional function-call semantics.  And
calling procedure-environment on it fails (no idea how this would behave
in GUILEĀ 2 though: it seems like allowing capture of a procedure
environment could be an interesting extension).  The C++ equivalent
would be something like being derived from a function class (actual C++
functions are not of a type that can be used as base class but there are
some comparable constructs).

Maybe I should not use "proper" but "genuine" here.  I don't think GUILE
has an established term for this we could use.

https://codereview.appspot.com/244840043/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]