Re: put library <body> at top-level
Per Bothner 01 Dec 2005 08:08 UTC
Tony Garnock-Jones wrote:
> Per Bothner wrote:
>>A Scheme-specific packaging format is neither needed nor sufficient.
>
> Some kind of packaging is needed to bundle up multiple expressions into
> a single library, whether it's explicit parenthesisation or implicit in
> the boundaries of the containing construct.
Yes.
> Should this SRFI mention all the various kinds of containers, files and
> file-like constructs that can appear in all the different variants and
> versions of operating systems big and small? Should it mention MIME?
> Should it require MIME? Should it mention the .zip format? Should it
> require it?
No.
> All of this complexity can be avoided if you use Scheme data structures
> to aggregate Scheme data structures, without reference to
> operating-system specific (and possibly even absent) constructs such as
> files and directories.
But that is not an option. The whole point of separate modules is so
you *can* have them in separate "files" or "units" or whatever.
Using a "Scheme data structure" to aggregate all one's libraries is
just not useful. And if you can't aggregate all your libraries in a
single file, there is no particular gain in aggregating more than one.
> That's not true - the separation is purely logical. Imagine a Scheme
> that was image-based, like a Smalltalk, with an in-core representation
> of its own source-code and an editor for these in-core data structures.
Scheme source code is not S-expressions. (No comments, for one thing.)
Each unit of source code is still a discrete sequence of characters.
There is still no point in having multiple libraries in the same
character sequence.
My proposal is fully compatible with this kind of environment.
> I was not talking about a collection of libraries: I was talking about a
> collection of forms contained within a single library. I am advocating
> S-expressions for aggregating forms within a library - you are
> advocating using a file to aggregate forms within a library.
Well, I'm advocating that a file contains a sequence of S-expressions
which together define a library.
--
--Per Bothner
xxxxxx@bothner.com http://per.bothner.com/