[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.)
DR
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Extending manual (was Re: metronome-mark-alignment),
Daniel Rosen <=