[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