lilypond-user
[Top][All Lists]
Advanced

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

Re: Appreciation / Financial support


From: David Kastrup
Subject: Re: Appreciation / Financial support
Date: Mon, 11 Jun 2012 17:40:52 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux)

Ivan Kuznetsov <address@hidden> writes:

> On Mon, May 28, 2012 at 12:21 PM, Tim McNamara <address@hidden> wrote:
>
>> As great as Lilypond's output is, there is a long way to go in terms
>> of simplification and usability (the syntax needs to be simplified
>> dramatically; a lot of the code users have to write is pretty ugly
>> and is going to scare off potential users).
>
>
> I don't understand how this could be possible.  Does anyone talk
> about the need to simplify the syntax of Latex?

Sure.  <URL:http://www.latex-project.org/latex3.html>

>  Of Perl?

Perl is a programming language, not an application and large-scale
programming project.  Nobody here talks about the need to simplify the
syntax of Scheme.  It's take it or leave it (with some people suggesting
leaving it).  The question of "simplify" is rather how to tie concepts
of LilyPond together with Scheme, and how to improve the LilyPond
language itself, either in its connections with the lower language
layers, or viewed on its own.

As one example, once you could write
\midi { \tempo 4 = 60 }
Then you had to do something like
\midi { \context { \Score
                   tempoWholePerMinutes = #(ly:make-moment 240 4) } }
(don't quote me on the details) because otherwise you would be
confusing music syntax with context definitions, and nowadays you can
write
\midi { \tempo 4 = 60 }
which actually _is_ music _converted_ to a context definition and does
the same thing as it did a long time ago, only totally differently.

What do you want to read in a score?  The first version was a strange
exception, the second version was pretty much straightforward, and the
third version requires a whole complex conversion mechanism.

If you try debugging this, the first versions are similarly complex
(rather straightforward) and the third version is really contorted.

Version 1 could be seen in the parser, but is a one-shot exception.
Version 2 can be followed from its own logic and is pretty
straightforward.  Version 3 is a consequence of rather strange rules and
commands, and it is not easy to see how the music ends up becoming a
context modification after all.

So what?  It expresses intent in a natural way.  Probably in a way
appearing obscene to a programmer, but unremarkable to a musician.

Is it a "simplification of syntax"?  Yes and no.

-- 
David Kastrup




reply via email to

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