From: Yukihiro Matsumoto Date: 2010-09-10T00:49:13+09:00 Subject: [ruby-core:32237] Re: Ruby 2.0 Wiki/Wish-list? Hi, In message "Re: [ruby-core:32235] Re: Ruby 2.0 Wiki/Wish-list?" on Fri, 10 Sep 2010 00:37:45 +0900, Charles Oliver Nutter writes: |> |Module#prepend (but there is a ticket for that, if I remember correctly): |> |> I am positive about prepending a module. �It will be addressed on Ruby |> 2.0 in whatever form. | |I'd like to be part of design and implementation discussions on this, |if possible. I've prototyped it previously, but never committed that |work anywhere. I believe it will be implemented mostly like the |current "include wrapper" for modules, but positioned and dealt with a |bit differently. Modulre#prepend will be introduced in 2.0, so I am happy to discuss with other implementers. At RubyKaigi keynote, I said it would be addressed by #mix, but I have realized I was wrong. #prepend is better solution for method wrapping. |In JRuby, there are as many weak references as there are subclasses |(including module wrappers) and inclusions of modules (modules keep a |list of all inclusion points). After booting RubyGems, the total |number of such elements is in the 1200-1300 range. Rails and other |frameworks would obviously bump this number up a lot. It's not clear |what impact it has on the JVM, though it's safe to say that it's not |free and that it's probably cheaper than on MRI. Maybe it wouldn't be that bad if we implemented "real" weak reference map for our implementation. We will keep investigation. matz.