Re: [frogs] Guitar capo code in scheme |
[ Thread Index |
Date Index
| More lilynet.net/frogs Archives
]
On 21/07/11 06:23, Marc Hohl wrote:
> Am 20.07.2011 23:18, schrieb Wols Lists:
>> On 20/07/11 01:05, Carl Sorensen wrote:
>>>
>>> With the exceptions I've noted above, it looks great! I think this
>>> will do
>>> exactly what you want done, and it will satisfy my concerns and Neil's
>>> concerns. Great job!
>>>
>> Okay, I've tried to follow what you've said, and make the appropriate
>> changes. Patches attached. But it won't run :-( and I'm pretty certain
>> I've messed up the "let(" syntax.
>>
>> I've looked at the scheme tutor "structure and interpretation..." and
>> while I sort of understand what's going on, I haven't quite got it yet.
>>
>> Anyways, here's the code:
>>
>> (define-public (capo-handler pitches bass inversion context)
>> (let (chord-function (ly:context-property context
>> 'chordNameFunction #f))
> At a quick glace, I think here is the error:
>
> let must be followed by two parentheses:
>
> (let ((foo ( ... ))
> (bar ( ... ))
>
> ...function calls follow here... ))
>
>> (capo-pitch (ly:context-property context 'capoPitch #f))
> And here ends the variable block, add another ")" in the line above.
>
> I didn't test it, though.
>
> HTH,
>
> Marc
Unfortunately, I think I picked that up :-(
What I posted was my first draft, which I committed to my git because I
was reasonably happy. I've actually tried a bunch of variants, but
seeing as they all blew up with the same error, I didn't bother
committing them. As far as I can tell, the error is simply saying "I
can't compile this procedure, there's a problem", which makes my life
difficult because I can't see what's wrong and the error gives me no
clues ...
As I understand the syntax of let - and I know this is not formatted
"nicely", but to make things clear, it's
(let
( ;; variable declaration block
(variable value)
(variable value)
)
(
(statement ...)
)
)
I know that's not what's in my published code, but I would have tried
that after I committed my version, and as I say, nothing I tried made
any difference to the error message :-(
Cheers,
Wol
---
----
Join the Frogs!