dave wrote: > | Alternative, certainly. I'm not so sure about better or more elegant. > > It is a necessary evolution, i think. To control the entropy :) There's more than one way to skin *that* cat :-) > | Having a standard namespace and having a system that applies it are two > | separate concerns. > > A good and adpreciated standard would help users to: > > - Find projects they need. > (like "ext/devel/deploy/gem" or "ext/net/http/rails") > - Understand the nature of the project. > - Avoid collisions. > - Keep order. Yes. However, we don't have that, nor is there any project to impose such a structure on the community, which would need to take into account the large amounts of existing code. > Long paths can be avoided with and intelligent optimization > on require: > > > If the find returns just one matching file in the repository > like: > > require "rails" it becomes -> require "ext/net/http/rails". > > > Then the file is sourced. > > So if there is a Conflict: > > require "http/rails" would be fine. That doesn't actually solve the original problem, although it does reduce it: what happens when http/rails and http/roads both define a top-level Wheel class? -- Alex