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

Reply via email to