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