David Nalesnik <david.nales...@gmail.com> writes:

> On Fri, Mar 17, 2017 at 9:50 AM, Paul <p...@paulwmorris.com> wrote:
>> cc'ing lilypond-devel to move discussion there.
>>
>> On 03/17/2017 09:38 AM, David Nalesnik wrote:
>>
>>> You can get more info about public functions with the attached file.
>>> I was planning on getting documentation into the manuals somehow, but
>>> I got hung up with getting the parameters of curried functions.
>>
>>
>> Hi David,  Thanks for your work on this.  Is there an easy way to just omit
>> any curried functions in a first-pass at this?  (I wonder what percentage
>> are curried?)
>
> I never found it.
>
> The problem is that a parameter isn't shown:
>
> #(define ((curried arg) grob) '())
> #(display curried)
>
> ==> #<procedure curried (arg)>

What problem?  `arg' _is_ the only parameter of the function `curried'.
The function `curried', when called, returns a function taking a single
parameter `grob'.

But that's a detail of the description.  Remember that the above
currying is just short for

(define (curried arg)
  (lambda (grob)
     '()))

which is short for

(define curried
  (lambda (arg)
    (lambda (grob) '())))

-- 
David Kastrup

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to