lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: .ly: procedural vs. declarative (was: RFC)


From: Baron Schwartz
Subject: Re: .ly: procedural vs. declarative (was: RFC)
Date: Sat, 17 Apr 2004 08:24:23 -0400 (EDT)

> > In that case, you probably know that converters are easy, if the
> > source language is documented and parsable, and the target language is
> > expressive.

The target language has to be documented and parsable, too :-) I wrote 
XSLT to convert from MEI (http://www.people.virginia.edu/~pdr4h) into Mup 
(http://www.arkkra.com).  Mup is not defined formally; the work was a lot 
harder in the absence of a grammar.  I don't want anyone to think I'm a 
super genius.  I just wrote an undergraduate thesis.  During this time, I 
often had daydreams about a perfect world in which one could write a 
completely declarative language, say in XML, and feed it to a perfect 
engraver.  My thesis is at http://www.sequent.org/baron/education/ if you 
are interested (I'm probably going to remain burnt out on this topic for 
another year or so).

> It think this is the direction in which lilypond is going on. I would like to
> sharpen my critisism. If only the default settings are used, the language is
> already nearly declarative -- in principle, perfect midi output could be 
> rather
> easily compiled from such a declarative input. 

> > You did not, by chance, devise a nice declarative music langugage?
> > Would you like to send a little example?

No, I'm not equal to that task.  MEI is Perry Roland's attempt to define 
an XML language.  It's patterned after TEI in some ways.  Perry is a Mup 
fan, however and the MEI format shows this bias.

> Instead, the music which is described declaratively cannot be always typeset 
> the
> most beatiful and compact way using a straight-forward prosedure; the tighther
> the music is typeset, the more compromises have to be done.

Yes, I agree.  Music and music notation are so overwhelmingly complicated 
that writing a "perfect declarative language" might be impossible, I don't 
know.  To *declare* "here is a special symbol with a special property and 
oh by the way, the defaults won't do" for every possible symbol and 
property is just so much.  It becomes easier at some point to say "move 
here and draw a line till you get to there."  But I am preaching to the 
choir!  And you are all much more knowledgeable than myself.

I didn't mean to troll -- don't want to distract anyone from the task at 
hand.  I just thought it was worth consideration.  Thanks for the 
discussion!

Baron




reply via email to

[Prev in Thread] Current Thread [Next in Thread]