Grant Edwards wrote: > On 2005-11-15, Ben Sizer <[EMAIL PROTECTED]> wrote: > > > > myObject.value = 'value1' > > > > #... 100 lines of code elided... > > > > if myObject.value == 'Value1': > > do_right_thing() > > else: > > do_wrong_thing() > > > > I don't actually think string use is 'untenable', but it is > > definitely more error-prone. With some sort of named object on > > the right hand side you will at least get a helpful NameError. > > I don't see how that's an argument in favor of the proposal > being discussed. Aren't $Value1 and $value1 both legal and > distinct symbols in the proposed syntax? Won't you have the > exact same issue that you do with mis-typing strings?
I think the idea is that if the symbol hasn't been instantiated locally in an assignment operation, then it will not exist, and "if foo == $symbolName" will either raise a NameError or flag some error during compilation. It cannot do this with string comparisons. I expect this would require a 2-pass compilation process, the first pass spotting all references to symbols and instantiating them appropriately, the second pass resolving these references and noting any that did not match up. -- Ben Sizer -- http://mail.python.org/mailman/listinfo/python-list