parse-time optimizations
Carlos Ribeiro
cribeiro at mail.inet.com.br
Thu May 31 09:11:30 EDT 2001
More information about the Python-list mailing list
Thu May 31 09:11:30 EDT 2001
- Previous message (by thread): parse-time optimizations
- Next message (by thread): parse-time optimizations
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
At 13:54 30/05/01 +0000, jcm wrote: >Delaney, Timothy <tdelaney at avaya.com> wrote: > > Very true. Constant folding could only be used in unambiguous > situations ... > > and most such things aren't unambiguous :( > > > Indeed > > > x + 1 + 2 + 3 > > > couldn't even be folded down to > > > x + 1 + 5 > >This is an unambiguous situation. No, it is not unambiguous. It assumes that the + operator is associative - which is true for the case of the "normal" addition. However, due to Python's dynamic nature, x can be any kind of object. It can define a new addition operation without the nice properties we all take for granted. Before you tell me that this can't happen, please note that there are some mathemathical constructs that are not transitive, reflexive and/or associative. In group theory you can find such constructs; matrix multiplication also have this property. So x+1+2+3 is not the same as x+1+5: it all depends on the definition of the add operator, as supplied by the x object. Now, IF Python spec is changed to state that the add operator MUST BE associative... Carlos Ribeiro
- Previous message (by thread): parse-time optimizations
- Next message (by thread): parse-time optimizations
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list