On Sat, Sep 12, 2009 at 12:52 PM, John Cowan <[email protected]> wrote: > Arthur A. Gleckler scripsit: > >> > (inter-library <filename or URI type argument>) >> > (disinter-library library-name) >> > (serialize-library library-name) >> > >> > Here I use "library-name" for whatever data structure is used to >> > specify library >> > names, such as the lists of symbols in R6RS. >> >> I'm curious. Would you mind providing a bit more detail on what these >> would do? > > In particular, does "inter-library" install the library on the system, > or remove it from the system and install it in a cemetery somewhere?
I like to think that the Scheme system is like the mob - it knows where the modules are buried. Essentially, inter-library would store the library forms in the specified data source specifier (file name or URI or whatever) in the appropriate location and form for it to later access when it sees an "import" form. disinter-library would remove the data corresponding to a particular library from the appropriate location. serialize-library is intended to provide a mechanism for copying a set of libraries in a different Scheme system. The format of the serialized library could be implementation dependent to allow for distribution of compiled applications, although it could be as simple as writing out the original library source code. In its proposed form, this serializations would be returned as a value, though an additional parameter could be allowed corresponding to the first argument of the "inter-library" procedure. As pointed out by Andrew Reilly, these forms alone do not give the user a convenient method for changing the sets of libraries referenced by the system. An additional "repository" argument would help with that, although it would require facilities for creating and destroying repositories and changing the current list of repositories searched for modules appearing in an import form. Other useful features could include listing the libraries contained by a given repository and serializing a repository as a whole. Lynn _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
