Well, duration-or-music? already exists and it's used by \skip.
Ah, my bad, I didn't think of looking whether it might already exist.
I'm surprised that such an either-/or type predicate doesn't wreak havoc
with the parser.
However, this makes for the slight oddity that \skip 4 ... does not
set the
default duration for the following music, whereas \skip {4} does.
Which reminds me: Making the current parser default duration
scheme-accessible is a long-standing project of mine. This might
creating well-behaved music functions a little easier.
[...]
This allows writing
\after 2.+4. \!
Something like the edition-engraver might benefit from this as well.
Admittedly, I was surprised not to get Bison screaming at me about
parser conflicts.
I don't know if this is actually useful enough and the right concept
to warrant adding. Also, it can hardly be extended to accepting "-"
as well as "+", since { 4-16 } is already valid.
I think this might actually be quite useful - but maybe the (not easily
implemented) "minus" operation might be even better. I had to think of
the last piece of Schumann's /Dichterliebe/ op. 48:
Of course, we could just ask Schumann to finally sit down and learn a
bit about the basic rules of notation :-), but I'd love to be able to do
something like (with \language deutsch)
r8 es2.-8 f2 ges8~
8 as2.-8 8
etc. Obviously, "2.-8" would need to use a different operator symbol,
not -, for the reason you gave.
Lukas