David Nalesnik <david.nales...@gmail.com> writes: > scheme? always returns #t. At the current point of time, the only > argument predicates specially coded into the parser are ly:pitch? > and ly:duration? so they don't mix with scheme? > syntactically. This will at some point of time get removed as > well. It is just somewhat tricky to do. > > The advantage of not special-casing argument predicates is that > you can write predicates markup-or-music? or number-or-markup? and > similar, and they will work fine. It is just pitches and > durations that have been somewhat resistant against this > unification. > > > Thanks very much for your explanations. This is much clearer to me > now.
I am currently giving another pitch at removing the strangenesses in pitch/duration treatment as well as the limitations about using simple music after a skipped optional argument. If the semantics are too complex for the likes of Harm and you to deal with unaided, they are not user-accessible. Which would defeat one of the major points of moving that kind of thing into the power of music functions rather than keeping it hardwired in the parser tied to particular reserved words. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel