[Haskell-cafe] haskore -> lilypond -> typesetting?

Johannes Waldmann waldmann at imn.htwk-leipzig.de
Wed Aug 21 15:05:19 CEST 2013

I tried using lilypond ( http://www.lilypond.org/ ) 
for typesetting of sheet music.

While the output looks nice, the input language IMHO is quite horrible,
because the underlying data/execution model is underspecified.
For some parts, it tries to describe the logical structure of the score; 
but for others, the layout; and in addition it has several non-obvious 
context-dependencies (but see below), preventing modularity.

Is there a better option? E.g., starting from a clear mathematical model,
as in Haskore, and use lilypond only as a PDF rendering engine?

Do I want hly / hts perhaps?  http://rd.slavepianos.org/?t=hly

As I see it, the main high-level design problem 
is that the source language needs partial evaluation annotations
for abstractions applications: sometimes they should be expanded 
(for MIDI rendering, always) and sometimes not (in typesetting, 
to create repetition marks instead of actually repeating notes). 

PS: I agree that some of lilypond's context dependencies 
(relative pitch, implicit note length) do really save 
large amounts of tedious typing: "c4 e g a c1" is much more economical 
than "[c 1 qn, e 1 qn, g 1 qn , a 1 qn, c 2 fn]" 
which I guess is the Haskore equivalent.

More information about the Haskell-Cafe mailing list