Re: put library <body> at top-level
bear 01 Dec 2005 02:18 UTC
On Wed, 30 Nov 2005, Matthew Flatt wrote:
> Others can offer additional arguments. I know, for example, that some
> would like to include multiple library definitions in a single file,
> and others object more generally to the notion of "file" in a
> specification of syntax.
This is very true, but since scheme (like all lisps) is a heavily nested
language, splitting a program arbitrarily into files is likely to cut
across nesting boundaries, leaving files that can't be understood as
part of program structure on their own.
So I think that we probably *should* say that the system is not obliged
to correctly interpret a single nested structure spread across multiple
files; Otherwise, I think file boundaries probably ought to be
syntactically completely irrelevant.
I have another interpretation of file boundaries in mind that would
be appropriate for *some* lispy language with lexical scope; it would be
ultra-consistent with scheme's design, but it's radical, inconsistent with
all extant scheme module systems, requires major implementation work,
makes file loading of uncompiled scheme files slower and more complicated,
and hasn't years of testing to see whether it works well in practice.
Bear