lilypond-user
[Top][All Lists]
Advanced

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

Re: SVG export - how might you add classes for all graphical objects?


From: Aaron Hill
Subject: Re: SVG export - how might you add classes for all graphical objects?
Date: Tue, 29 Jun 2021 13:13:52 -0700
User-agent: Roundcube Webmail/1.4.9

On 2021-06-29 12:45 pm, Carl Sorensen wrote:
I believe that the logical implications of side-effects are not very
concerning when local variables are set!, so there's probably very
little or no downside to the set!s in Aaron's code.  In fact, it's
possible that Aaron's code will use less heap space by re-using class
instead of adding a new variable grob-class-name.  But I can't help
myself; I want to avoid the grief  Sussman would give me over two
unneeded set! calls.....

I prefer that pattern of set! calls because it helps you avoid nesting S-expressions too deeply, which I feel greatly improves readability and maintainability. It is the same reason I bothered to define the add-class-name procedure, so that it would not be nested within the engraver definition itself, better separating concerns.

Additionally, I have taken flack for pushing some of the more functional elements of Scheme programming. (Mention the word "lambda" once, and everyone assumes you are a pure functional zealot.) Regardless, I have tended to favor a more imperative approach lately, something that is likely to be more consumable for users of LilyPond.


-- Aaron Hill



reply via email to

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