Dear Ponders & Schemers,

 

I wanted to try creating a simple Scheme macro. I've never done this before,
so I may well be going about it all wrong, but the error I get doesn't make
sense.

 

Here is a minimal non-working example:

 

\version "2.20.0"

     #(use-modules (ice-9 syncase))

 

     #(define-syntax set-default

       (syntax-rules ()

        ((set-default name value)

         (if (eqv? name 'UNDEF) name value)

       )))

 

     #(define some-setting 44)

     #(set-value some-setting 99)

     #(ly:message "some-setting = ~a\n" some-setting)

 

This gives the error:

                Wrong number of arguments to #<Music function #<procedure #f
(arg)>>

 

Huh? I also tried define-syntax-rule, which came up unbound. Any insights
into what I'm doing wrong would be welcome.

 

Thanks,

John

 

Reply via email to