<br><br><div class="gmail_quote">On Fri, Apr 4, 2008 at 5:44 AM, Brett Cannon &lt;<a href="mailto:brett@python.org">brett@python.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">On Fri, Apr 4, 2008 at 11:27 AM, Christian Heimes &lt;<a href="mailto:christian@cheimes.de">christian@cheimes.de</a>&gt; wrote:<br>
&gt; Benjamin Peterson schrieb:<br>
&gt;<br>
&gt; &gt; I originally brought this in the discussion about removing types, but it can<br>
&gt; &nbsp;&gt; be separate.<br>
&gt; &nbsp;&gt;<br>
&gt; &nbsp;&gt; Through the years, sys has gather a fare share of crud. Much of these new<br>
&gt; &nbsp;&gt; additions are low-level and CPython specific. I believe the sys module<br>
&gt; &nbsp;&gt; should strive to be an interpreter neutral, clean module. Hence, I propose<br>
&gt; &nbsp;&gt; the &quot;interpreter&quot; module. We could move all those internal functions like<br>
&gt; &nbsp;&gt; _getframe(), get/setrecursionlimit(), get/setcheckinterval(), etc to it.<br>
&gt; &nbsp;&gt; Also, if we decided to remove the types module, this would be a natural<br>
&gt; &nbsp;&gt; place for frames and code objects.<br>
&gt;<br>
&gt; &nbsp;The idea popped up several months ago when we were discussion the future<br>
&gt; &nbsp;of the types module. Guido suggested the name &#39;pyvm&#39;. The module was<br>
&gt; &nbsp;meant to contain low level interfaces to the (C)Python virtual machine.<br>
&gt;<br>
&gt; &nbsp;Once the pyvm module is implemented the sys module should only contain<br>
&gt; &nbsp;system methods which can be implemented by all flavors of Python.<br>
<br>
</div></div>This is exactly the type of separation I want to see. Unfortunately,<br>
because it would be a new module that means we will have to go through<br>
the typical steps needed to add it and can&#39;t rely on 2to3 and the<br>
reorg to handle it.<br>
<br>
But I totally support moving CPython-specific stuff to another module.<br>
Probably the best thing to do is write up a proposal of what should go<br>
where, run it past here, and the write up a PEP to present to<br>
python-dev. Then we can introduce the module in 2.6/3.0. Proper<br>
deprecations will be needed in the sys module so that people can<br>
slowly transition to the new module (whether it is named interpreter,<br>
pyvm, or some other name) since the sys module can&#39;t obviously just<br>
suddenly drop some methods or attributes.<br>
<br>
And do realize this is a chance to change the API so that if a<br>
property-like situation is better than a method call that can be used.<br>
<br>
Sound good to people? If so, who wants to take this on?</blockquote><div>If there is further support, I will. <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<font color="#888888"><br>
-Brett<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Cheers,<br>Benjamin Peterson