Well, it is quite easy to answer if you know a bit scheme. Scheme has a very very simple syntax, only 2 kinds of elements - literals, ie. Words, numbers and quotations (quotation is something that begins with a ' sign.) - expressions aka operations, which always begin and end with parentheses, like (something done (here)).
There is nothing like something = anything, the assignment expression also follows the same rule. So you would use sg like (set! 'merge-differently-headed #t). However, setting it using the correct context etc. perhaps would render into a quite complicated Scheme statement. So LilyPond uses a mixed syntax. And thus the scope of the # sign is one literal or one expression, simply you can think of it as that when there is no parentheses, it will be in Scheme mode until the next space character. Bert > ------- Original Message ------- > From: Ralph Little <[EMAIL PROTECTED]> > To: [email protected] > Sent: 08/01/24/, 21:54:29 > Subject: Re: A question on "##t" > > > if the # puts lilypond into scheme mode, does that mean that the > > equals-sign in #'merge-differently-headed = ##t is not scheme? if > > it is, then why not #'merge-differently-headed = #t ? > > In fairness to Damian, I think his further question was more to > do with the scope of the # scheme introducer. > > i.e. how much of what follows the # is interpreted > as scheme. > > I'm not sure that I know the definitive answer to that > question since you can define an entire scheme function with > a single # in a different context. > > In answer to his specific question about > #['merge-differently-headed = #t], it wouldn't work anyway > because the syntax of scheme is different. The assignment > here is Lilypond's syntax. > > Regards, > Ralph > > > > --------------------------------- > Instant message from any web browser! Try the new Yahoo! Canada Messenger > for the Web BETA _______________________________________________ lilypond-user mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-user
