lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: function help


From: David Kastrup
Subject: Re: function help
Date: Tue, 21 Jun 2016 20:44:17 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

No Body <address@hidden> writes:

> Wow! Works great, thanks Thomas.  I like the second version using the
> lilypond #{#}   ---- I can easily add markup for font, etc.  Added a
> string-reverse to get correct order.   I read "extending" several times,
> skimmed thru "internals", guile manual and R5RS and have been working on
> this in my spare time for a week --- thanks.
>
> I realize that make-circle-markup is part of lilypond and not Guile, but is
> there a way I could have known about that and possibly other useful funcs?
> I realized from the error messages that I needed markup, but just couldn't
> figure out how to get it.
>
> Also, is the "#:" in "#:circle" a naming convention or dereferencer or
> what?  Is there somewhere to look that up?  I don't have much of an
> understanding about this.

There is a Scheme macro in LilyPond called "markup" and it uses these
"keywords" for making a sort-of markup-similar pseudo-syntax in Scheme.
It predates the existence of the #{ \markup ... #} construct and is
likely marginally faster.  Historically, the use of Scheme variables,
particularly let-bound variables, inside of #{ ... #} also was sort-of
shaky.

These days there is very little point in learning to juggle with the
markup macro.  The also existing make-...-markup functions work
perfectly well and without all the macro quirks in Scheme, and
#{ \markup ... #} is not merely so-so similar to markup syntax but
identical.  Between the two, there is just no reasonable amount of
ground covered by the markup macro.  And #{ \markup ... #} works well
enough to really just forget about Scheme syntax altogether.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]