On 24 November 2017 at 16:21, David Wright <[email protected]>
wrote:

> On Fri 24 Nov 2017 at 10:08:29 (+0100), David Kastrup wrote:
> > Gianmaria Lari <[email protected]> writes:
> >
> > > On 24 November 2017 at 09:49, David Kastrup <[email protected]> wrote:
> > >
> > >> Gianmaria Lari <[email protected]> writes:
> > >>
> > >> > I'm sorry for the trivial question but why this code is wrong?
> > >> >
> > >> > \version "2.19.80"
> > >> >
> > >> > music = {a b}
> > >> > \music
> > >> >
> > >> >
> > >> > My understanding was that "\music" is substituted by its value "{a
> > >> b}"....
> > >>
> > >> You need to put anything in between.  LilyPond looks at \music before
> > >> deciding the assignment is complete because the assignment could be
> > >>
> > >> music = {a b} \addlyrics {Oh well}
> > >>
> > >> For that it needs to decide what \music is but the assignment is not
> yet
> > >> complete...
> > >
> > > Thank you David!
> > >
> > > It is a bit frustrating.
> >
> > If you think that is frustrating, try working on the parser.  I didn't
> > design that insane \addlyrics syntax.
> >
> > > Even apparently simple things are complicated....  but that's ok.
> >
> > Things are complicated _because_ of appearing simple.  Some simple
> > appearances are more complicated to do than others.
> >
> > You would not want to write your music in Scheme syntax, and that would
> > be by far the simplest to make sense of.
> >
> > I've worked on that late assignment nuisance a few times already.
>
> When you think that writing just
>
> \music
>
> can buy you
>
> \score {
>   \new Staff {
>     \new Voice {
>       \music
>     }
>   }
> }
>
> and more, then having to write at least
>
> {
>   \music
> }
>
> won't seem so onerous.
>
> Cheers,
> David.
>

It was just a theoretical question. I wanted to understand why this code is
correct:

{a}


but not this

music = {a}
\a

Now that I have understand the reason of the behaviour we can discuss it :)
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to