On Fri, Jul 11, 2008 at 08:39:21AM +0200, felix winkelmann wrote: > On Thu, Jul 10, 2008 at 7:23 PM, Peter Bex <[EMAIL PROTECTED]> wrote: > > On Thu, Jul 10, 2008 at 02:41:27PM +0200, Peter Bex wrote: > >> Of course, this would also require the possibility of loading a > >> particular version of a library. I propose this syntax: > >> > >> (require-library foo (bar 1.2) (qux 1)) > >> > >> This requires the latest installed version of foo (whatever that is), > >> and version 1.2 of bar. From qux the latest installed minor version > >> with major version 1 is required (so, if you have 1.1 and 1.2 installed, > >> it will pick 1.2). These semantics match those of the 'versions' egg, > >> I think. > > > > On second thought, the syntax above is needlessly complex. > > > > (require-library foo bar-1.2 qux-1) is much more straightforward and > > maps _directly_ to the code in the 'versions' egg, too. It also reserves > > the "structured library names" like (bar ..) for future enhancements. > > Indeed, the list structures are already used ("(srfi 1 2 3)", etc.). There > even is a "(version ...)" feature, but I forgot what it does (;-). The only > problem is searching for the highest sub-version, which will require > comparison of version files and obtaining directory listings. This will > have to happen at runtime and it would be unfortunate to make every > program depend on the posix unit.
How about the Unix approach of maintaining symlinks? On Windows one could use the Registry. Or to keep things simple, chicken-setup could just maintain a simple file that contains lists of installed egg versions. Cheers, Peter -- http://sjamaan.ath.cx -- "The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music." -- Donald Knuth
pgpTbujJIUqVZ.pgp
Description: PGP signature
_______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users