On Sun, Mar 16, 2008 at 9:30 PM, Robert Klemme
<shortcutter / googlemail.com> wrote:
>  Yeah, but you can achieve the functionality without modules at all - at
>  the small cost of defining a single instance method in class Module.

I suspect that Trans is looking for a general principle to follow and
is using equality as an example (but I'm open to be corrected of
course :)
While adding a single method to Module may seem like a small cost if
you're only using it in a single program,
it becomes unsustainable when you're managing a large public library
like Facets which is trying to play nice with frameworks like Rails
(which doesn't go out of its way to be polite).

With the unbridled rise in Ruby 'metaprogramming', a zillion monkeys
are leaving their cr**p all over Object, Module and Class.
I thoroughly endorse any effort to avoid namespace pollution.

Also, Ara's point about unintended constant propagation is a very good
one. I recently got stung by an otherwise innocent VERSION constant
which screwed up all manner of unrelated things.

So my tuppence worth goes towards something like Ara's version of the
module inclusion method.

Kind regards,
Sean