The idea is to make selectors like optional versions of Python imports.
Example:
# merb/core_ext/string.rb

namespace Merb
  class String
    def to_s
      super + "Awesome"
    end
  end
end

# merb/application.rb

use Merb::String

class Foo
  def bar(str)
    str.to_s
  end
end

Some more examples are at: https://gist.github.com/83d390aea81a12f1667c

The basic implementation idea is that there be a new node named
call_with_namespace that would hold any namespaces registered for the file
in question. This would be a parse-time transform (based on a new use
keyword). You would also be able to cache the method lookup, based on the
selector AND the namespaces. So it shouldn't be a huge performance hit.

Thoughts?

-- 
Yehuda Katz
Developer | Engine Yard
(ph) 718.877.1325