Hello Paul,

> I'm trying to learn how to write scheme code to create a function
> "addnlet" to call code like the following
> 
> addA = {
>    \temporary \override Score.BarNumber.stencil =
>    #(lambda (grob)
>      (let ((text (ly:grob-property grob 'text)))
>       (grob-interpret-markup grob
>        #{ \markup \concat { #text "A" } #})))
> }
> 
> with the letter of the alphabet (like "A") above.
> 
> I am at 2.25.80 Extending 1.1.2 Scheme variables.
> 
> Things I do act like the documentation says except I add $1 or $2,etc.
> added:
> 
> lily-guile@()> 1
> $1 = 1
> lily-guile@()> (define a 2)
> lily-guile@()> a
> $2 = 2
> 
> It seems reasonable but am I doing anything wrong?

The $x you see is part of the interactive guile prompt. The interactive guile 
prompt numbers all outputs, so the first output will be labelled $1 = ..., the 
second output $2 = .... This is useful because the interactive guile prompt 
will actually bind these outputs to these labels, so you can reference them 
later. E.g.

> 1
$1 = 1
> 1
$2 = 1
> (+ $1 $2)
$3 = 2

But this is just a feature of the interactive guile prompt.

Cheers,
Tina

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to