> . . . The { m1 m2 m3 } syntax is used for repeat alternatives > already, and the meaning is very clear: Each music expression between the > outer { } is a separate argument. Note also that the tupletSequence > function would be implemented entirely in Scheme . . .
> > { {g8 f e} \seq {b8 a g} } > \tuplet {g f e} \tuplet \seq \tuplet {b a g} > > {{c d e} {{f g} a} b c} > \tuplet {c d e} \tuplet {{f g} a} \tuplet b \tuplet c OK. Thank you for clarifying that. I understand, from your original remarks, that (here) you have written just "\tuplet" in the interest of brevity, and that the full form would be \tupletSequence 3:2 {{c d e} {{f g} a} b c} meaning \tuplet 3:2 {c d e} \tuplet 3:2 {{f g} a} \tuplet 3:2 b \tuplet 3:2 c which implies the following things: a) tupletSequence is a Scheme function which just breaks up its subexpressions naively, without any semantic analysis. b) \tuplet is a real LilyPond function; it is identical to \times, except that the notation 3:2 (meaning 2/3) would be allowed. c) People would have to write \tupletSequence m:n { {...} {...} }, not \tuplet m:n { {...} {...} }. d) Any semantic errors in the subexpressions would be reported by the \tuplet function, not by the \tupletSequence Scheme function. I know this was all clear to you before; I am just summarizing what I got out of your explanation. I think I have to withdraw my objections; your reminder that the \alternative construct already uses {...} to indicate subexpressions is a good point. -- Tom ******************************************************************** On Fri, 5 Jan 2007, Erik Sandberg wrote: > On Friday 05 January 2007 09:22, [EMAIL PROTECTED] wrote: > > > . . . \tupletSequence 2/3 {{c d e} {f g a} {b c d}} > > > would just be a shorthand for > > > \tuplet 2/3 {c d e} \tuplet 2/3 {f g a} \tuplet 2/3 {b c d} > > > > That would add a big semantic burden to the meaning of "{" and "}". > > Currently {{c d e} {f g a} {b c d}} means the same thing as > > {c d e f g a b c d}. > > It's not a problem. The { m1 m2 m3 } syntax is used for repeat alternatives > already, and the meaning is very clear: Each music expression between the > outer { } is a separate argument. Note also that the tupletSequence function > would be implemented entirely in Scheme, the parser would not be modified. > Examples: > > > I would hate to have to write the parser that would > > figure out (reliably) what > > {{c d e} {f g} {a b c}} > \tuplet {c d e} \tuplet {f g} \tuplet {a b c} > > > or > > {{c d e} {{f g} a} b c} > \tuplet {c d e} \tuplet {{f g} a} \tuplet b \tuplet c > > > or > > {{c8 d e} {f4 g a}} > \tuplet {c d e} \tuplet {f4 g a} > > mean (as arguments to \tupletSequence). And if > > \seq = {{a8 b c} {d8 e f}} > > then, since LP macros are *not* string macros, what will the parser > > do with the argument > > { {g8 f e} \seq {b8 a g} } > \tuplet {g f e} \tuplet \seq \tuplet {b a g} > > -- > Erik > _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user