On Mon, 8 Jan 2001, Dave Thomas wrote:

> Should a library's version information also be used to record
> dependencies?
> 
>    module Wombat
> 
>      Version "1.2.3" {
>         requires "marsupial"               # no qualifier means any version
>         requires "eucalyptus" :> "1.0"     # at least this version
>         requires "sleep" :> "0.9" :< "1.5" # in range
>         requires "skippy" "5.4"            # exact (same as :== "5.4")

I think it would be useful to have "and possibly earlier", as well.
This would mean: "It might work -- try it and let me know!".  This is
different from asserting that it will work with all versions, or saying
it will only work with later versions. 

I mentioned before the need for Except, so a broken release of some
library can be rejected, when earlier and later ones work OK.

Why do we need the colons?  Can't the relational operators be 
overloaded for this?

One more wish:  If you miss out a dependency, Ruby should tell you.
If you declare a spurious dependency -- a module you do not actually
load or require, then Ruby should tell you.

>      }
> 
>    end
> 
> Looks scary, but it puts all the dependency stuff in one place, which
> will greatly help in the grand unified library project (gulp).

Ruby enters L-space... :-)
> 
> Dave
> 
	Hugh
	hgs / dmu.ac.uk