Re: asdf version proposal

"Sean Ross" <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
[email protected] wrote:
>>>>>> "Sean" == Sean Ross <[email protected]> writes:
>>>>>>
>
>     Sean> [email protected] wrote:
>     >>>>>>> "SR" == Sean Ross <[email protected]> writes:
>     >>
>     SR> Hi all, I've been working on more comprehensive version
>     SR> support in asdf and i think it's finally ready for public
>     SR> consumption.
>     >>
>     >> [...snip...]
>     >>
>     >>
>     SR> This patch does not address the concept of compatible versions
>     SR> but I feel that that can be added at a later date.
>     >>
>     >> You lost me here.  Can you expand on "compatible versions" (as
>     >> opposed to, presumably, "versions satisfying version number
>     >> predicate")?
>
>     Sean> aargh, poor choice of words. I'm thinking of a situation
>     Sean> where you have version 1.3.1 of system X loaded and you want
>     Sean> to load version 1.3.5 If these two version of system X are
>     Sean> "compatible" then it should be fine to load 1.3.5 instead of
>     Sean> signalling a continuable error.
>
>
> What's the semantics of "load" in the above?  Somehow load 1.3.5 in a
> namespace where it will not collide with 1.3.1, or have the load of
> 1.3.5 crush 1.3.1?
>
>
Loading in this context is referring to the loading of a dot asd file,
to register a particular system.
Loading any version of a system (provided the author didn't cater for
such) will have to crush a previous version, asdf does not cater for
situations like these.
The purpose of a 'compatible' system implies that this loading does not
have adverse consequences.
> Since CL does not have hard-core interface definitions (if you need
> to, you can reach in and tinker with non-exported functions,
> variables, etc.), I don't off-hand see how one could specify that
> library versions are or are not compatible.  Also, are there
> transitivity issues?  Is "compatible" a transitive relationship?
>

I think a good example is cl-store.
Between cl-store 0.2 and cl-store 0.3 the change was enough to render
anything serialized by cl-store 0.2 unusable by cl-store 0.3. Between
0.2 and 0.2.2 however it was only performance optimizations and a
bugfix or 2.
(I can't remember the actual version numbers but this change is there)
The actual interface never changed (between 0.2 and 0.3) but from a
users point of view its fine to load 0.2.2 while a serious problem
to load 0.3.


PS: Apologies for html format (this is not my machine)

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
cclan-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cclan-list
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.