From: Charles Oliver Nutter Date: 2009-02-26T15:30:21+09:00 Subject: [ruby-core:22537] Re: YASNP (Yet Another Selector Namespace Proposal) Jim Weirich wrote: > Methods invoking super need to be designed to work together (at least to > some degree[3]). Namespaces are for keeping unrelated methods from > colliding. Having super search namespaces from the original call site > will mix unrelated methods. I've talked about this a bit with Yehuda offline and super is definitely a peculiar case. I agree with your assertions, and there's another reason why: super from within that module has no real hierarchy to climb. In a typical "include MyModule" case, the module is enlisted in the actual class hierarchy, so it can run its code and "super up" the included hierarchy correctly. In the namespaced case, since we're only modifying what happens at the call side, MyModule is totally disconnected from the hierarchy attached to self's class. There's no going back. This is of course assuming the "call site" model of selector namespacing, as opposed to the "thread downstream" or "include under" styles, which could potentially alter super calls outside of the original lexical scope. - Charlie