David Kastrup <[email protected]> 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