--20cf303b3b87bad02904b2114c56
Content-Type: text/plain; charset=ISO-8859-1

Does this also mean that we will not enhance const_missing to support
nested modules?

I think it is still possible to make require itself threadsafe, if we use a
single lock for requires, as Charlie Nutter has previously proposed.
Honestly, if we improve const_missing and make `require` capable of being
threadsafe, it will be easy to implement autoload in terms of those
primitives.

Yehuda Katz
(ph) 718.877.1325


On Fri, Nov 18, 2011 at 11:11 PM, Yukihiro Matsumoto <matz / ruby-lang.org>wrote:

> Hi,
>
> Today, I talked with NaHi about enhancing const_missing to enable
> autoload-like feature with nested modules.  But autoload itself has
> fundamental flaw under multi-thread environment.  I should have remove
> autoload when I added threads to the language (threads came a few
> months after autoload).
>
> So I hereby declare the future deprecation of autoload.  Ruby will
> keep autoload for a while, since 2.0 should keep compatibility to 1.9.
> But you don't expect it will survive further future, e.g. 3.0.
>
> I strongly discourage the use of autoload in any standard libraries.
>
>                                                        matz.
>
>

--20cf303b3b87bad02904b2114c56
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Does this also mean that we will not enhance const_missing to support nested modules?<div><br></div><div>I think it is still possible to make require itself threadsafe, if we use a single lock for requires, as Charlie Nutter has previously proposed. Honestly, if we improve const_missing and make `require` capable of being threadsafe, it will be easy to implement autoload in terms of those primitives.</div>

<div><br clear="all">Yehuda Katz<br>(ph) 718.877.1325<br>
<br><br><div class="gmail_quote">On Fri, Nov 18, 2011 at 11:11 PM, Yukihiro Matsumoto <span dir="ltr">&lt;matz / ruby-lang.org&gt;</span> wrote:<br><blockquote class="gmail_quote"tyle="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hi,<br>
<br>
Today, I talked with NaHi about enhancing const_missing to enable<br>
autoload-like feature with nested modules.     fundamental flaw under multi-thread environment.     
autoload when I added threads to the language (threads came a few<br>
months after autoload).<br>
<br>
So I hereby declare the future deprecation of autoload.  
keep autoload for a while, since 2.0 should keep compatibility to 1.9.<br>
But you don&#39;t expect it will survive further future, e.g. 3.0.<br>
<br>
I strongly discourage the use of autoload in any standard libraries.<br>
<br>
  
<br>
</blockquote></div><br></div>

--20cf303b3b87bad02904b2114c56--