Colin Tennyson <colintenny...@outlook.com> writes: > To use another analogy: our choir conductor sometimes asks in mild > exasparation: "Sing _something_ , never mind you're not sure. If you sing > the wrong note I can correct it, but if you don't sing at all I'm dead in > the water." > > So, in asking questions here on this forum I allow myself to err on the side > of pushing. > > (I'm not a programmer, but as you can tell from the terminology I picked up > I have been reading up on general principles of programming.) > > > In order to learn the LilyPond environment, I feel I need to know the > concepts that have guided how Lilypond is implemented.
Contexts, properties and engravers are described in the Usage manual. Be sure to read the latest version as there have been quite a few improvements. > Why do I see side by side two keywords for setting properties: \set > and \override. That is explained in the manual. > I have seen environments where every property that is by nature ON/OFF is > controlled with a boolean variable. That is straightforward, that helps to > make the enviroment learnable. > > Why do I see side by side several ways of toggling ON/OFF? > I see "\hide" "\undo \hide" If you prefer, you can override the transparency property of a grob with #t and #f. \hide is just a convenience function. > I see "consists" "\remove" > I see "##t" and "##f" > > I wonder, how did the development of LilyPond end up with the syntax and > keyword set that it now has? The change log files are available, and so are the archives of the developer and user lists. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user