[Python-Dev] [poll] New name for __builtins__

Adam Olsen rhamph at gmail.com
Wed Nov 28 20:11:10 CET 2007


On Nov 28, 2007 11:50 AM, Guido van Rossum <guido at python.org> wrote:
> On Nov 28, 2007 10:46 AM, Adam Olsen <rhamph at gmail.com> wrote:
> > On Nov 28, 2007 8:20 AM, Christian Heimes <lists at cheimes.de> wrote:
> > > I'm sending this mail to Python-dev in the hope to reach more developers.
> > >
> > > GvR likes to rename the __builtin__ to reduce confusing between
> > > __builtin__ and __builtins__. He wanted to start a poll on the new name
> > > but apparently he forgot.
> >
> > In a recent thread on python-ideas[1] it was suggested that builtins
> > be added as an argument to eval and exec.  I'd prefer to do that and
> > eliminate the name altogether.
> > [1] http://mail.python.org/pipermail/python-ideas/2007-November/001250.html
>
> You can do that but the special entry in globals is still required in
> order to pass it on to all scopes that need it.
>
> > If not that I suggest something like __inject_builtins__.  This
> > implies it's a command to eval/exec, and doesn't necessarily reflect
> > your current builtins (which are canonically accessible as an
> > attribute of your frame.)
>
> You're misunderstanding the reason why __builtins__ exists at all. It
> is used *everywhere* as the root namespace, not just as a special case
> to inject different builtins.

Ahh, so only replacing __builtins__ is unsupported (an implementation
detail, as it may be cached), not all use of it?  It is confusing that
something normally unsupported becomes required for eval/exec.


> ATM I'm torn between __root__ and __python__.

-1 on __python__.  It seems to be an abbreviation of "python
interpreter core" or the like, but on its own it implies nothing about
what it means.

Contrast that with __root__ where we all know what a root is, even
though it doesn't imply what kind of root it is or how its used.

__root_globals__ would be another option, showing clearly how it
relates to our existing use of the "globals" term.


-- 
Adam Olsen, aka Rhamphoryncus


More information about the Python-Dev mailing list