Language change and code breaks

phil hunt philh at comuno.freeserve.co.uk
Wed Jul 18 08:38:06 EDT 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.
>
>>Case-sensitivity, for
>>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
cae-insensitive python?

-- 
#===== Philip Hunt == philh at comuno.freeserve.co.uk ======#
    Herbivore: effort-free public key encryption. See:
<http://www.vision25.demon.co.uk/oss/herbivore/intro.html>
        ** First software release coming soon! **






More information about the Python-list mailing list