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