Re: Proposed ASDF modification

Nikodemus Siivola <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
[email protected] writes:

> Since we can require particular versions of software, it seemed to me
> that we should also be able to say stuff like:
>
> (asdf:oos 'asdf:load-op :shop2 :version "1.3.0")

There are several gotchas with this, but most importantly: what happens
if you try to load both "1.2.0" and "1.3.0"? 

Answer: bad things, at least unless the author has arranged for
different versions of his software to live in different packages.

What if author A has gone to the trouble required for different
versions to coexist? How can she specify that "1.0" thru "1.1"
conflicts with "1.2", but that anything after that can coexist?

How many systems "out there" use :version that is a string of three (or less)
dot-separated numbers, or can be parsed as such? What about things like
"1.test-release"? 

Furthermore, since most real systems are being loaded by other systems
using :depends-on, it should be possible to use that to specify
version X too.

Now, while a relatively complete solution "for all this" is probably
not in scope for ASDF, as it would have to include either versioned
packages or package naming conventions, etc, I can be persuaded that
the minimal ability for ASDF systems to specify which version of
another system they expect would be a good thing.

* If trying to load another version (when one has already been loaded)
  signal a continuable error.

* :DEPENDS-ON should support things like ("FOO" :VERSION ...) and 
  ("FOO" :MIN-VERSION) in addition to plain "FOO".

* VERSION= and VERSION<= should deal with "1.2.foo" and "2.bar", but
  punt on things like "1.beta.2.foo" -- possibly signaling an error.

* This definitely needs to be documented: the nuts and bolts need to
  be described and a "best practises" document would be good too for
  real interoperability to emerge.

Cheers,

  -- Nikodemus              Schemer: "Buddha is small, clean, and serious."
                   Lispnik: "Buddha is big, has hairy armpits, and laughs."




-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.