> Trying to understand LilyPond syntax based on how > it actually processes input is not likely to make learning easy since a > lot of complicated mechanisms work behind the scenes in order to make > things look easy.
In my general experience, systems which try to be cleaver and are not explicit about what they are doing tend to break in weird, unexpected ways. Complex abstractions always leak. It is also a constant burden on the user if they have to remember that some things are added implicitly. On 17 April 2018 at 17:43, David Kastrup <d...@gnu.org> wrote: > Robert Hickman <robehick...@gmail.com> writes: > >>> That's not Lisp/Scheme syntax but LilyPond syntax. There is a >>> manual for it. Several, in fact. >> >> I'm aware. >> >> \context { >> \Staff >> \omit TimeSignature >> } >> >> If I'm understanding this correctly, this would be written something >> like the following in a typical OO syntax: >> >> x = Staff.clone(); >> x.omit(TimeSignature); > > And > > currentlayout.set (x.name, x); > > or something when the above appears in > > \layout { ... } > > Though \omit TimeSignature is short for the music expression > > \override TimeSignature.stencil = ##f > > and is translated into the identical looking context modification by > some hook function. Trying to understand LilyPond syntax based on how > it actually processes input is not likely to make learning easy since a > lot of complicated mechanisms work behind the scenes in order to make > things look easy. > > -- > David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user