lilypond-user
[Top][All Lists]
Advanced

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

Re: Trill and nonstandard expressive mark


From: David Kastrup
Subject: Re: Trill and nonstandard expressive mark
Date: Sun, 06 Jan 2013 01:19:48 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Olivier Biot <address@hidden> writes:

> On Sun, Jan 6, 2013 at 12:28 AM, David Kastrup <address@hidden> wrote:
>
>> Olivier Biot <address@hidden> writes:
>>
>> > Is this double meaning of curly braces documented somewhere? I did
>> > not come across it in the online manuals so far.
>>
>> What double life?  Within music, curly braces create sequential
>> music.  What other meaning do you see?
>
> First meaning of curly braces as "block delimiter", e.g. in:
>
> \score {
>   % Serial or parallel music goes here
>   \layout {
>     % Layout directives go here
>   }
> }
>
> Second meaning as "serial music definition", e.g. as a music expression
> that will be used in a voice within a score block:
>
> theMusic = { c8 d e4-. f2 }

Seriously?  Do you think people are confused by the "double life" of
curly brackets in C?  First meaning as "block delimiter", e.g. in:
struct {
  % declarations go here
  union {
    % and more
  }
}

Second meaning as "serial statement definition", e.g. as a statement
expression that will be used in a statement within a procedure:
main ()
{
  if (x) {
    whatever ();
  }
}

I mean, {} for \score and \layout are _fixed_ parts of the syntax.
Using () for function calls as well as expression grouping is more
confusing than that.

> It is very difficult to disambiguate the meaning of the curly braces
> without looking at where they will eventually appear.

That's what is called "syntax".  Scheme, in contrast, gets along without
most of this pesky context-dependent interpretation of lexems, but it
turns out that many people don't consider this an improvement in
legibility.  In fact, it is the most frequent complaint about Scheme.

-- 
David Kastrup



reply via email to

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