[Types-sig] Re: PRE-PROPOSAL: Python Interfaces

JOrendorff@ixl.com JOrendorff@ixl.com
Mon, 23 Nov 1998 15:06:35 -0800


> Let me see if I understand you right: you would be bothered by the
> mere fact that the compiler caught some issues that were *explicitly
> errors* at compile time instead of runtime:
>
> a="abcd"
> for i in range( a ):

Hmmm... I just think the devil's in the details.  ;-)

In the spirit of Mr. Golden, here are my goals:

0.  I use Python to goof off.  So I want Python to be more fun to use,
    which means it catches more errors, sooner, and gives more helpful
    error messages, without requiring me to do any (er, much) extra
    work.  To that end:

1.  I'd like optional static typing to appear in Python 1.6 if
    possible.

2.  I want the road to be clear for type inference, which is kind of
    the Holy Grail of goal #0.  We shouldn't do anything now that type
    inference will do better a year from now.

3.  I definitely want any features developed for 1.6 to be applicable
    to the 1.6 standard library, if possible.  (Without breaking any
    working Python 1.x code, of course.)

4.  Like Mr. Golden, I think all names should be bound as early as
    possible.  But I think Python 1.6 must continue doing late binding
    of globals and builtins.

I am especially interested in ideas for accomplishing #3.

#4 suggests Python 1.6 won't catch 'range("abcd")' at compile-time.

Are there any specific static typing proposals that have gotten at
least a contemplative silence from Guido?  :-)  From what I've read,
none yet has fared too well.

-- 
Jason