Hi,

In message "[ruby-talk:5620] Re: [RRFC] versioning revisited"
    on 00/10/17, Dave Thomas <Dave / thomases.com> writes:

|To make this more orthogonal, how about generalizing the context. Add
|a 'with' qualifier to 'require' which takes an arbitrary
|expression. That expression is evaluated within the context of the
|module just loaded, so you could write:
|
|    fred.rb:
|        version = 4.3
|        status = "debug"
|        # module stuff..
|
|    dave.rb
|
|        require "fred" with version > 4 && status != "debug"
|
|that gives us an interesting way to introduce metadata.

Are you going to make require a keyword?

|Then, how about extending require again, so that if the first match
|that it finds doesn't satisfy the 'with', it keeps searching, so that
|we can have multiple libraries in the search path, with programs being 
|able to choose which ones they like?

What do you think is a good idea to resolve version number mismatch?
For example:

  my program requires libraries cgi and database
    cgi requires marshal 1.4 or later
    database requires marshal 1.2

Just crash?  Note I didn't say this is a serious problem.

							matz.