At 12:48 PM 7/29/2001 -0400, Bryan C. Warnock wrote:
>I've been contemplating this off and on for a while now, but the lack
>of a Grand Unified Theory of Module Versioning has always led me to
>shelve whatever thoughts I may have had to the back of my mind - or to
>/dev/null. There was a lot of peripheral discussion, however, here at
>TPC, and a lot of similar discussion taking place over on p5p, so I'm going
>to go ahead and do a brain dump of a possible solution. It is probably an
>undesirable one, but that's okay. A bad idea is better than no idea (until
>it's actually implemented).
[The rest snipped]
FWIW, the interpreter will treat the following three things (Barring
changes from Larry) as composing a unique identifier:
Module Name
Author
Version
You'll be able to wildcard author and version, as well as specify a range.
Version numbers won't be capped at x.99--they'll continue on indefinitely.
We may also have an alpha/beta/release flag, but that's not certain.
When you actually use a module, the simple name (like IO) will be
internally expanded out to the three value thing. So if you have two
modules that each use a different version of the same module, they won't
interact because each will be dealing with a separate thing.
The interpreter will also alias one of the exported 'full' module names
as the simple name. So, while the real namspace for IO might be
IO$CORE$1.02, say, it'll also be seen as plain IO. (Which one gets exported
this way when multiple modules are used is rather up in the air. I don't
have the answer at the moment.
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
[EMAIL PROTECTED] have teddy bears and even
teddy bears get drunk