[Python-Dev] Simple Switch statement (original) (raw)
Phillip J. Eby pje at telecommunity.com
Mon Jun 26 02:46:46 CEST 2006
- Previous message: [Python-Dev] Simple Switch statementZ
- Next message: [Python-Dev] Simple Switch statement
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
At 01:37 PM 6/25/2006 -0700, Raymond Hettinger wrote:
No thanks. That is its own can of worms. The obvious solutions (like const declarations, macros, or a syntax to force compile-time expression evaluation) are unlikely to sit well because they run afoul Python's deeply ingrained dynamism.
I think perhaps you haven't been paying close attention to Fredrik's proposal. Yes, I have been. That is one of the three options I listed above. Each has its own issues. The static() keyword works like Forth's brackets for forcing compile-time evaluation.
No, it doesn't; this is why I suggested that you haven't been paying close attention. The evaluation is at function definition time, not compile time.
The issue for us is that unlike other Python expressions, there are inconvenient limitiations on what can be expressed inside:
five = 5 eight = [8] def f(x, six=6): seven = 7 a = static(five + 4) # this is legal b = static(six + 4) # this is illegal c = static(seven + 4) # this is illegal d = static(eight + [4]) # this is illegal
The last one is perfectly legal, and the middle two make no sense.
- Previous message: [Python-Dev] Simple Switch statementZ
- Next message: [Python-Dev] Simple Switch statement
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]