Kieren MacMillan wrote > You clearly come from a programming background, which will help you scale > the Lilypond learning curve in some ways. > However, don’t push that analogy too far, or you might find (as I did) > that it can confuse matters. =)
Hi Kieren, 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. The opportunity for parent-child relationships is obvious. Systems consist of staffs, staffs are filled with notes. So, is all the typesetting organized according to parent-child and sibling-group relationships, or only some things and other things not? Why do I see side by side two keywords for setting properties: \set and \override. 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" 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? -- View this message in context: http://lilypond.1069038.n5.nabble.com/Learning-Lilypond-comments-invited-part-2-tp157019p157057.html Sent from the User mailing list archive at Nabble.com. _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user