Tue, 10 Sep 2002 09:17:42 +0900, Yukihiro Matsumoto <matz / ruby-lang.org> pisze:

> I'm not sure if you're talking multi-method like one in CLOS,
> or other namespace issue.

Both, they are related.

In the Ruby model methods are anonymous names with no associated
data and the receiver alone is sufficient to understand a method,
so method names are distinguished by apperance rather than identity.
Although it would be possible to extend method names to include
explicitly generated fresh symbols (that you must import from somewhere
in order to send), it would introduce awkwardness not present before,
just to be safe wrt. namespaces, so it wouldn't be accepted.

In my CLOS-like model methods are fully-fledged objects existing
outside their receivers, so it's natural that you explicitly create
them somewhere. A method belongs to the module which introduced it.
You explicitly import modules anyway in order to call functions
defined in them. Unqualified name lookup is static.

The problem seems to be real:

   Date: Tue, 10 Sep 2002 16:33:28 +0900
   From: "Shashank Date" <ADATE / kc.rr.com>
   Subject: Re: Rockit problem
   
   [...]
   This is due to two conflicting class definitions:
   
   class BoundedLruCache          # in rockit/bounded_lru_cache.rb required by rockit
   class BoundedLruCache < Hash   # in site_ruby/resultcache.rb required by Memoize
   
   So how do I overcome this problem ?

-- 
  __("<      Marcin Kowalczyk
  \__/     qrczak / knm.org.pl
   ^^    http://qrnik.knm.org.pl/~qrczak/