Single type for __builtins__ in Py3.0

Peter Hansen peter at engcorp.com
Fri Sep 23 20:48:37 EDT 2005


Collin Winter wrote:
> The difference between __builtins__ and the other __*__ names is that
> while the others shouldn't be used without understanding their
> purpose, the consensus on __builtins__ seems to be that it shouldn't
> be used at all. 
> 
> ... at the very
> least, users should be explicitly told -- up front, in the official
> documentation --  that they shouldn't ever touch __builtins__. 

(...all of which I understood you to be saying in your previous post on 
the matter.)

My point, which might not have been clear, is that users are *already* 
told that they shouldn't ever touch __anything__ without understanding 
what it is, which is more general advice than and therefore encompasses 
the __builtins__ issue.  For this reason I believe the existing advice 
is sufficient for everyone except those who would probably also end up 
ignoring your above suggestions anyway.

 > Maybe
 > __builtins__ could be removed entirely from Py3.0, thus bringing
 > reality in to sync with policy.

That's a possibility, though given that it's an implementation detail 
there could easily be other implementation details which you would then 
be asking to be removed as well because they might confuse someone.  If 
you really want to avoid having implementation details exposed like 
this, you should probably be participating closely in the development 
process.  ;-)

(I'm also someone who believes we have way too many laws and that a few 
core ones already cover the majority of interesting situations for which 
the politicians are endlessly dreaming up more and more specific laws. 
So far this thread seems to me a parallel sort of situation...)

-Peter



More information about the Python-list mailing list