David Nalesnik <[email protected]> writes:
> On Fri, Mar 17, 2017 at 9:50 AM, Paul <[email protected]> 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-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user