(original) (raw)

(The lurker awakes...)


> 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.

ATM I'm torn between __root__ and __python__.

Something with the word "global" speaks to it's real effect, except that the word already has an established meaning in Python as being 'global to the module level', and modifying \_\_builtins\_\_ lets you be "global to the entire universe of that instance"

So I would humbly suggest \_\_universal\_\_. The names within are available everywhere. 'root' speaks to me too much of trees, and while namespaces may be tree-like, \_\_root\_\_ alone doesn't say "root namespace"... and \_\_root\_namespace\_\_ is long.

(Then again, long for a feature that should only be used with care isn't a bad thing)

--Stephen