[Top][All Lists]

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

Extending manual (was Re: metronome-mark-alignment)

From: Daniel Rosen
Subject: Extending manual (was Re: metronome-mark-alignment)
Date: Wed, 15 Jan 2020 00:31:08 +0000

> -----Original Message-----
> From: David Kastrup [mailto:address@hidden]
> Sent: Tuesday, January 14, 2020 5:39 PM
> To: Thomas Morley <address@hidden>
> Cc: Daniel Rosen <address@hidden>; lilypond-user Mailing List (lilypond-
> address@hidden) <address@hidden>; David Nalesnik
> <address@hidden>
> Subject: Re: metronome-mark-alignment
> Ok, let me try again.
> # and $ differ in several respects.  # inserts Scheme constructs in places
> where LilyPond can decide how they fit into its syntax without looking at
> their value first.  In that case, evaluation of those Scheme expressions is
> done at the time the expression is being actually used which tends to be
> what one expects.  In contrast, $ can be used in places where the value of
> the expression will have an impact on just how LilyPond will put them into
> context.  For example, a $ expression evaluating to a duration may be
> combined with a preceding pitch to form a note, while having it evaluate to
> another pitch in the same place will form a separate note.
> This syntactic flexibility may lead to the expression getting evaluated at an
> unexpectedly early point of time, namely when LilyPond needs to know its
> type in order to decide that it does not actually combine with the preceding
> expression.
> ------
> So no talk about lexer and parser and lookahead and tokens.

This is better, but I still have trouble grasping precisely what it means, and 
I think that has to do with my lack of knowledge about how the program actually 
works. I've been using LilyPond for a long time so I have a pretty good grasp 
of the syntax for creating a score, and I know how to find the stuff I don't 
know off the top of my head; but my understanding of what happens once I've 
finished the text file(s) runs more or less like this:

1. Click "Compile" button in Frescobaldi (or run program from command line)
2. *magic*
3. PDF exists

So it occurs to me that an overview "for Dummies(r)" of what really happens 
during "step 2," on a conceptual level, might be helpful for someone like me. I 
don't know if such an overview exists, or whether anyone has the time and 
ability to write one; and, moreover, depending on how much basic computer 
science it would need to cover, it might be outside the scope of this 
community---I have no idea, I'm just spitballing. But if it is doable, I 
suspect it would go a long way towards making the manual more readable for 
non-programmers. (Obviously if it does exist, someone please point me to it.)


reply via email to

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