Any comments? My draft of a new PEP.

Courageous jkraska1 at
Sat Aug 18 20:42:41 CEST 2001

>> static ... Would rather gouge my eyes out.

>Maybe 'static' would be used for something totally different, like to tell
>the interpreter that dynamism is not needed in a certain context.

>def static f(): pass
>f.attribute = 1 # Error: 'f' declared immutable by keyword 'static'.

I've heard that Perl uses the keyword "strict" for this. If I
implemented it, I'd explore the following ideas:

When a function is declared "strict," local variables must be
declared. Misspellings would not automatically create a local

When a class is declared "strict," assignments to attributes
on an object instance would throw an exception unless first the
class had that attribute. A strict class automatically propagates
the strict attribute to all of the methods on the class and its

When a module is declared "strict," module level attributes
may not be assigned unless first declared. module-level "strict"
automatically propagates strictness to all functions defined
in the module.

I'm not sure that I _would_ do any of these things, mind you,
except fiddle with them and see how they work out in practice. :)


More information about the Python-list mailing list