Luca Fascione <[email protected]> writes:

> On second thought, I don't think it is all that obvious that my original
> interpretation was wrong, David.
> You said
>
> On Fri, Aug 21, 2026 at 9:02 AM David Kastrup <[email protected]> wrote:
>
>> your understanding is wrong.  \relative takes
>> a _pitch_ argument as its start, not a note, so this is parsed as
>>
>> \relative a' { 4 } { c }
>>
>
> Although my understanding of the frontend's current behavior was wrong, I
> believe my expectation was reasonable,
> because this issue of mine stems from the grammar ambiguity introduced by
> making the startpitch argument to \relative optional.

No, it doesn't.  The interpretation with non-optional pitch would be
exactly the same.

> The ambiguity resolution in `\relative a'4` you're saying today goes to
> `\relative a' { 4 }`, but I expected it would go to `\relative { a'4 }` ==
> `\relative a' { a'4 }` instead,

I don't think that would have happened: an LALR(1) grammar is likely too
greedy for that.  And humans tend to be greedier, so I guess you are
somewhat alone with your interpretation.

> because this is what a human would expect

What am I, chopped liver?  This is what _one_ human would expect.

> no effect on the score, whereas if one insists on the current eager
> parsing, it would feel more useful if the behaviour of unattached
> duration/articulations was as if the previous note were explicitly
> repeated inside: `f \relative a' { 4 }` == `f \relative a' { f4 }`,
> meaning printing the second f an octave higher, in this example.

So you think if I wrote

\relative { c'4. 8 4 4 }

that each note should be an octave higher than the last one?  That does
not sound useful to me at all.

-- 
David Kastrup

Reply via email to