msk...@ansuz.sooke.bc.ca writes: > On Wed, 12 Jun 2019, David Kastrup wrote: >> > nor conceptually TeX-like, despite the fact that it uses backslashes. >> >> It's a batch processing system with plain text input syntax. That makes >> for workflows not unaccustomed to LaTeX users. By the way, it did > > LaTeX users are accustomed to writing macros in a Turing-complete language > with, for instance, if statements.
LaTeX or TeX users? > LilyPond has no equivalent concept to TeX macros: variable values in > LilyPond are data, not code, Uh, LilyPond's extension language is Scheme, and Scheme has even less of a distinction between code and data than its ancestor Lisp (which at least has separate function and value cells for symbols, as opposed to Scheme). TeX's macros are so peculiar because they rely on ad-hoc macro argument matching and "catcode"-based input interpretation, and very lazy expansion of a separate "mouth" layer. Basically you have the cooperating proverbial blind "stomach" (that cannot evaluate conditionals and make decisions) and the lame "mouth" (that cannot change the value of variables) executing with loose synchronization, but you need both to run, say, a loop. It's really TeX that is the odd system out here. LilyPond is quite more "conventionally" tied into Scheme as extension and programming system. > and are completely evaluated when parsed and assigned. They always do > exactly the same thing every time subsequently invoked, and cannot > contain real conditionals or parameterized behaviour. All the > programming-language functionality in LilyPond is shifted into "music > functions" that can be applied to the dead data, but never used inline > if they are to retain their programmable behaviour. I am not sure what you want to be saying here, and if I am unable to figure out what you mean, chances are slim that someone who does not even know LilyPond can. > Complete evaluation at parse time makes programming a much different > experience, and not one likely to be familiar to a TeX or LaTeX user. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user