On Thu, Sep 10, 2009 at 4:31 PM, John Cowan <[email protected]> wrote: > Alaric Snell-Pym scripsit: > >> Even if just a recommendation that an implementation >> supply an "install-module" procedure that takes a filename, and >> attempts to find a module inside it and install it, or something. > > I wouldn't want to see that as a *Scheme* procedure, but if you mean that > the implementation should provide it somehow (possibly outside Scheme -- > arbitrary programs probably shouldn't install things, and may not have > the privileges to do so anyhow), then fair enough.
It seems to me like specifying the name and behavior such a procedure (or a family of procedures from which one could build an appropriate installation script in Scheme) as an *optional* part of the core could make sense. The host Scheme implementation may be able to assist with the installation process (e.g. in resolving problems like duplicate library names). It seems more fool-proof (and less scary to new-comers) than relying solely on a sequence of end-user actions to install a provided library. (The hypothetical advantage with specifying a family of core procedures atop which to build such a script, e.g. (library-name->file-system-path lib), is that we might then see community effort in coming up with different portable installation scripts. But then again determining an appropriate core set of procedures is probably an unreasonable task for WG1.) I suggested that an installation script could be written in Scheme and provided by the implementation back before the R6RS was ratified [1]. PLT Scheme's plt-r6rs command has an --install flag that makes it install libraries from a given file; I do not know if other Scheme's offer a similar convenience. (In Larceny, Will and I tried to make the library resolution process flexible; I am now thinking that flexibility is not a substitute for a standard automatic method.) -Felix [1] http://lists.r6rs.org/pipermail/r6rs-discuss/2006-November/000703.html _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
