[Bese-devel] version dependencies
Marco Baringer
mb at bese.it
Wed May 18 10:27:48 UTC 2005
http://common-lisp.net/cgi-bin/archzoom.cgi/ucw-2004@common-lisp.net/ucw--dev--0.3--patch-420?log
ucw will now refuse to load unless you have the proper (aka very very
recent) versions of arnesi and yaclml.
------------------------------
i'd like to go off on a slight tangent:
instead of assigning a single version number to each version it
appears (at first sight) to be a great idea to give each version a
list of version tags (which are just free form strings).
compared to the 'single-version-number' this scheme has the advantage
that:
1) you no longer need to give version numbers structures. if you want
at least 0.5.2 then just check thaht the 0.5.2 string is in there
someplace. this will hald true for 0.5.2 and all successive
versions.
2) if you want to break backwards compatability then remove the
version number. example, let's say release 0.6.0 breaks
compatablitiy with 0.5.2 then we just drop the 0.5.2 tag string
from the 0.6.0 release and now any code which requires at least
0.5.2 will stop working. (abviously if we've broken compatability
with all previous versions then we drop all version tags).
3) you can stop using version number and give each release a set of
features it implements, instead of asking for version 0.5.2 we ask
for the version which supports the feature "mega-man-7"
4) you are no longer shoe horned into someone else's idea of what a
version spec is and what it looks like. versions are just strings
and they're either there or they aren't.
5) maintainers can be as specific or as generic as they want without
breaking the system.
6) users can decide whether or not they trust the maintainers.
the only disadvantages i can see at the moment:
1) after a while (fsvo 'a while') you'll have many tags, this many
become unmanageable (we'll see).
2) it looks really strange to see version 0.6 which includes tags for
versions 0.2.37 and 0.4.1.
--
-Marco
Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
-Leonard Cohen
More information about the bese-devel
mailing list