Language change and code breaks
philh at comuno.freeserve.co.uk
Wed Jul 18 14:38:06 CEST 2001
On Wed, 18 Jul 2001 13:29:08 +0100, phil hunt <philh at comuno.freeserve.co.uk> wrote:
>On Tue, 17 Jul 2001 13:13:36 GMT, Guido van Rossum <guido at python.org> wrote:
>>philh at comuno.freeserve.co.uk (phil hunt) writes:
>>> >I also don't want to fork the code base.
>>> Does that imply that you sare no longer interested in making
>>> radical changes to Python, such as case-insensitive identifiers
>>> mentioned in CP4E?
>>I still have the same end goal, but I believe there must be a way to
>>obtain it without too much disturbance.
>Hmmm. I'm not sure about that, it feels to me like its opening up a
>can of worms.
>>example, may be a tool feature rather than a language feature, or it
>>may be a user option or a langage-level choice.
>Say I write a module in the current (case-sensitive) Python. Then
>you write one in case-insensitive python. Your code calls one of my
>routines or variables; how does it get the case-sensitivity right?
>Does it do so at run time or compile time? Compile time might
>be difficult, for example if I have an object that dynamically
>creates instance variables for itself. What if I have an object
>ob with both ob.variable and ob.VARIABLE? What does your code
>use when it resolves philsModule.ob.variable?
>Case matching up at run-time is likely to make the language slower.
>(One way I might consider fixing it would be to have the new
>language explicitly say when it is dealing with old-python modules
>and be case sensitive there; consider C++'s name mangling and the
>extern keyword they used to link to C code.)
One question that's just occurred to me.
In normal Python:
class C: pass
c = C()
c.__dict__['h'] = 'hello'
Now, c.h is 'hello' but c.H is an exception.
Will keys in dictionaries have to be case-insensitive in
#===== Philip Hunt == philh at comuno.freeserve.co.uk ======#
Herbivore: effort-free public key encryption. See:
** First software release coming soon! **
More information about the Python-list