From: Dave Thomas Date: 2001-04-25T05:42:26+09:00 Subject: [ruby-talk:14174] Re: RCR, strange things in $: rise writes: > On Wed, 25 Apr 2001, Dave Thomas wrote: > > > In terms of versioning, I'd like to see some conventions appear. > > > > Every library file could implement some standard local > > variables. These won't pollute the user's name space, as they > > disappear during a load. > > > > version = '1.2.3a' > > author = 'dave@thomases.com' > > needs = [ 'xmlparser >=1.2', 'soap ==2.0', 'errmsg <3.14'] > > > > module DemoModule > > > > # ... > > end > > Did you intend that this would apply to .so libraries as well? Yes, but using the filename instead of some variable. That's one of the reasons that the find method gets to handle versioning information: versioning can take place both during location and after loading. > I'd like to request that if they disappear from the user's (current) name > space during load they're made available somewhere else (global hash, > Config entry, new library that records the information if it's loaded). > Versioning information would make version incompatibility work-arounds > much easier to write[1], and any CRAN library that ends up getting written > can probably use the information as well. That seems like a good idea. One possible way would be for 'load' to attach the binding to the $" list as a singleton method attached to each name. Dave