<div dir="ltr"><br><div class="gmail_extra">&quot;Here&#39;s one I did earlier...&quot;<br><br><a href="http://www.flickr.com/photos/44929957@N03/4459628487/lightbox/">http://www.flickr.com/photos/44929957@N03/4459628487/lightbox/</a><br>
<br></div><div class="gmail_extra">This is Haskore implementation of Chick Corea&#39;s &quot;Child Song 6&quot; rendered to LilyPond - I don&#39;t imagine Mr. Corea&#39;s publishers will be sending me a takedown request any time soon.<br>
<br></div><div class="gmail_extra">There&#39;s a lot missing from Haskore that is needed to make good scores - the renderer of the above took a lot of effort with metrical grouping but the result is still abysmal. <br><br>
</div><div class="gmail_extra">I doubt mathematics can help (common practice) music typesetting much - Western notation has had a thousand years to develop without the constraint of a regular syntax; so if Lilypond is horrible it is mostly the fault of what it tries to typeset (it does make some unwarranted mistakes like over-restricting the characters it can use for &quot;variable&quot; names and its parenthesizing is horrible).<br>
</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">On 21 August 2013 14:05, Johannes Waldmann <span dir="ltr">&lt;<a href="mailto:waldmann@imn.htwk-leipzig.de" target="_blank">waldmann@imn.htwk-leipzig.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I tried using lilypond ( <a href="http://www.lilypond.org/" target="_blank">http://www.lilypond.org/</a> )<br>

for typesetting of sheet music.<br>
<br>
While the output looks nice, the input language IMHO is quite horrible,<br>
because the underlying data/execution model is underspecified.<br>
For some parts, it tries to describe the logical structure of the score;<br>
but for others, the layout; and in addition it has several non-obvious<br>
context-dependencies (but see below), preventing modularity.<br>
<br>
Is there a better option? E.g., starting from a clear mathematical model,<br>
as in Haskore, and use lilypond only as a PDF rendering engine?<br>
<br>
Do I want hly / hts perhaps?  <a href="http://rd.slavepianos.org/?t=hly" target="_blank">http://rd.slavepianos.org/?t=hly</a><br>
<br>
<br>
As I see it, the main high-level design problem<br>
is that the source language needs partial evaluation annotations<br>
for abstractions applications: sometimes they should be expanded<br>
(for MIDI rendering, always) and sometimes not (in typesetting,<br>
to create repetition marks instead of actually repeating notes).<br>
<br>
<br>
PS: I agree that some of lilypond&#39;s context dependencies<br>
(relative pitch, implicit note length) do really save<br>
large amounts of tedious typing: &quot;c4 e g a c1&quot; is much more economical<br>
than &quot;[c 1 qn, e 1 qn, g 1 qn , a 1 qn, c 2 fn]&quot;<br>
which I guess is the Haskore equivalent.<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br></div></div>