Hello Robert,

Speaking as a programmer myself with over forty years of experience, and an
advanced lilypond users, I can categorically assert that lilypond is not
trying to be 'clever'. This is an utter misunderstanding. Lilypond is
however trying to engrave music to the highest possible standard, and this
is an immensely difficult programming proposition, hence the complexity
under the hood, and the slight difficulties in the syntax. It's not meant
to be simplistic or easy like ABC.

Music notation itself is a complex abstraction refined over hundreds of
years. It does not 'leak'.

If you are not happy with the system, and it seems it does mot match your
expectations of what a domain specific language should be like for music,
it may be that you simply need to add ornaments such as cut to ABC, given
that the safe mode in lilypond won't allow you to achieve what you want in
a web app.

To give you a bit of context, David Kastrup is one of the principal ongoing
developers of lilypond and few people have the in depth knowledge of the
internals that he does. He is well aware of the various infelicities we
have, but they are generally being worked on continously. As for lilypond
breaking, I do massively complex New Complexity scores with many code
extensions I wrote in Scheme, and I hammer the software all day long, and I
can't break it, even when stretched to the limits. A testimony to the
fundamental good underlying design and architecture. Most others have the
same experience.

As a final remark, I have learned ABC over the last two days in order to
help you out. It seems to me that it is better suited to Irish music tune
notation, having just enough expressivity to set thousands of tunes.
Lilypond is capable of it, but it is a big machine, and probably like
killing a mosquito with a B 52 bomber. Given the near universal adoption of
ABC by Irish players, I'm surprised nobody has created the Larsen ornaments
for ABC - but then, notating precise ornaments in that music is probably
more for academic analysis and comparison purposes than for session playing.

Andrew



On 18 April 2018 at 05:15, Robert Hickman <robehick...@gmail.com> wrote:

> > Trying to understand LilyPond syntax based on how
> > it actually processes input is not likely to make learning easy since a
> > lot of complicated mechanisms work behind the scenes in order to make
> > things look easy.
>
> In my general experience, systems which try to be cleaver and are not
> explicit about what they are doing tend to break in weird, unexpected
> ways. Complex abstractions always leak. It is also a constant burden
> on the user if they have to remember that some things are added
> implicitly.
>
>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to