2017-11-21 7:33 GMT+01:00 Saeed Baig <[email protected]>: > Hey guys I am thinking of perhaps writing a PEP to introduce user-defined > constants to Python. Something along the lines of Swift’s “let” syntax (e.g. > “let pi = 3.14”).
If you want to work on a PEP, you will have to write a strong rationale for it :-) > Do you guys think it would be a good idea? Why or why not? Do you think > there’s a better way to do it? I’d like to know what others think about this > idea before making any formal submission (I’ve already posted this same > question on python-list, but I just wanted to gauge opinion here too). Python has different kinds of namespaces: module globals, class attributes, function local variables, etc. The https://github.com/fijal/quill programming language looks like Python but makes module globals *mapping* "immutable": setattr(module, 'var', new_value). Only the mapping is immutable, a value can be mutable. I guess that the motivation here is to help the optimizer to emit more efficient code. See also previous attempts: "PEP 416 -- Add a frozendict builtin type" https://www.python.org/dev/peps/pep-0416/ => my motivation was to develop a sandbox for Python "PEP 351 -- The freeze protocol" https://www.python.org/dev/peps/pep-0351/ => I guess that the main motivation was to previous programming mistakes, misuse of an API The question is if you only want to have a technical solution to prevent modification of module globals, or if you would like to advertize that a variable is constant and use it somehow. Victor _______________________________________________ Python-ideas mailing list [email protected] https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/
