[Python-Dev] Fast access to __builtins__
Jack Diederich
jack@performancedrivers.com
Thu, 27 Mar 2003 22:21:10 -0500
On Thu, Mar 27, 2003 at 07:35:20PM -0500, Raymond Hettinger wrote:
[Raymond proposed this pythonic version of a pragma]
> __fastbuiltins__ = True # optimize all subsequent defs in the module
>
> [Jack Diederich]
> > The downside of a pragma module or
> > keyword would be what people try to add to it later.
>
> Ideally, enabling the pragma would also trigger warnings when the
> module shadows a builtin.
I was thinking that a first-class keyword like
pragma no_shadow_builtins
would give people a hook to suggest all kinds of nastiness in the future.
In your pythonness your suggestion avoided this entirely.
We are talking about a very per-module thing, and author's intent.
As a progression, how about a subclass of dictionaries that implement
warn-on-assign and error-on-assign properties. Having a subclass of dicts
specifically for symbol tables has been suggested before and has a wide
variety of benefits[1]. This is a good example.
-jackdied
[1] benefits of a specific 'symtab' type that derives from dict
(all variations on 'one stop shop for optimizations')
* string-only
* assign-once (builtins)
* cached lookups