On Aug 14, 2009, at 12:33 PM, Tom Gordon wrote:
have a tentative objection to everything you're discussing. You're
building a system with package names, versions and dependencies,
but the
R6RS already has all that. Where do they figure in?
Good point. Doesn't this boil down to mapping libraries to packages,
where each package is a hierarchical tree of libraries?
If you look at any existing collection, e.g., xitomatl, srfis, agave,
sbank, etc., you'd see that it's never just Scheme libraries. Thus,
a collection/package contains arbitrary files that can be dowloaded
and installed on user's machine. Some of these files may be Scheme
libraries, some may be Scheme code (that's included in libraries),
and some may not be libraries at all (documentation, text files,
images, sounds, etc.).
Is a package more than just a universal identifer or name for the
root of a tree of libraries?
Yes. As a matter of fact, intrinsically, it has nothing to do with
libraries at all. It's just a collection of files.
Should packages have versions independent of the versions of the
libraries they contain?
Definitely. A package may have different libraries with different
versions. There's no way to map arbitrary library versions to a
single package version. Also, some files in a package may not
have version numbers associated with them.
And can't the dependencies of a package be derived from the
dependencies of its libraries, from their import statements?
In the general case, no, as libraries may need non-library files.
Aziz,,,
[I wrote this before reading the entire thread, so, it might repeat
things already said]