LGreatTM! Cheers, - Graham
On Sat, Jun 20, 2009 at 01:17:02PM -0700, Mark Polesky wrote: > > Here are some proposed additions to LM B. Scheme tutorial > > These are things that I wished I knew when I was starting! I > haven't made a patch because I want to get feedback from you guys > first. > Thanks > - Mark > > ***(I'm leaving this paragraph as it is) > LilyPond uses the Scheme programming language, both as part of the > input syntax, and as internal mechanism to glue modules of the > program together. This section is a very brief overview of > entering data in Scheme. If you want to know more about Scheme, > see http://www.schemers.org. > > ***new paragraph: > LilyPond uses the GNU Guile implementation of Scheme, which is > based on the Scheme "R5RS" standard. If you are learning Scheme to > use with LilyPond, working with a different implementation (or > referring to a different standard) is not recommended. Information > on guile can be found at http://www.gnu.org/software/guile/. The > "R5RS" Scheme standard is located at > http://www.schemers.org/Documents/Standards/R5RS/. > > ***back to current: > The most basic thing of a language is data: numbers, character > strings, lists, etc. Here is a list of data types that are > relevant to LilyPond input. > > ...jump a bit... > > In a music file, snippets of Scheme code are introduced with the > hash mark #. So, the previous examples translated in LilyPond are > > ##t ##f > #1 #-1.5 > #"this is a string" > #"this > is > a string" > > ***new paragraph and example: > Multiple consecutive scheme expressions in a music file can be > combined using the *begin* operator. This reduces the number of > hash marks to one. However, within such a combined expression, > LilyPond comments ("%" and "%{ %}") will produce errors. > > #(begin > > (define foo 0) > (define bar 1) > > ) > > ***new sentence and example: > Comments in Guile Scheme are entered as follows: > > ; this is a single-line comment > > #! > this a (non-nestable) > guile-style block comment > !# > > ***back to current: > For the rest of this section, we will assume that the data is > entered in a music file, so we add #s everywhere. > > > ************ > > > ...and maybe at the end, some info regarding using the display > function within a music file to emulate a guile "sandbox". > See the thread at: > http://lists.gnu.org/archive/html/lilypond-devel/2009-06/msg00436.html > > > > > > > _______________________________________________ > lilypond-devel mailing list > [email protected] > http://lists.gnu.org/mailman/listinfo/lilypond-devel _______________________________________________ lilypond-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-devel
