On Thu, Aug 29, 2019 at 08:17:39PM +1200, Greg Ewing wrote: > [email protected] wrote: > > > re'a|b|c' --becomes--> (locals()["re~"])("a|b|c") > > 2.3f --becomes--> (locals()["~f"])("2.3") > > How does one get a value into locals()["re~"]?
I don't think that [email protected] means that the user literally assigns to locals() themselves. I read his proposal as having the compiler automatical mangle the names in some way, similar to name mangling inside classes. The transformation from prefix re to mangled name 're~' is easy, the compiler could surely handle that, but I'm not sure how the other side of it will work. How does one register that re.compile (say) is to be aliased as the prefix 're'? I'm fairly sure we don't want to allow ~ in identifiers: # not this re~ = re.compile I'm still not convinced that we need this parallel namespace idea, even in a watered down version as name-mangling. Why not just have the prefix X call name X for any valid name X (apart from the builtin prefixes)? I still am not convinced that is a good idea, but at least the complexity is significantly reduced. P.S. [email protected] if you're reading this, it would be nice if you signed your emails with a name, so we don't have to refer to you by your email address or as "the OP". -- Steven _______________________________________________ Python-ideas mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/W45RVSWEBM22EXZQ4DGE5KP7WNIRPWCG/ Code of Conduct: http://python.org/psf/codeofconduct/
