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/