David Kastrup <d...@gnu.org> writes: >> Be confident that I'm ashamed by my ignorance but I do not know how >> exactly Lilypond uses Guile (nor what Lilypond exactly does), but your >> description of it does sound like it's the only way to "extend" a >> program. > > Not at all. But when we are talking about an _extension_ _language_, > the implication is that it works in bits and pieces where it is > convenient. That it _integrates_ with a larger system.
Yes, extension languages are meant to integrate into a larger _program_, that much we can agree on. However, I disagree that "extension languages" are, by definition, meant to integrate into an external _language_ _implementation_. > Lexical environments are a fundamental part of what integration may > involve, and they operate at a different level as modules. Macros > play _into_ lexical environments, so obviously Scheme itself > recognizes the importance of being able to extend. Yes, Scheme recognizes the importance of being able to extend the language, but only within the framework of a single low-level language _implementation_. This is a separate issue from being able to extend a program using an "extension language". Mark