[Types-sig] recursive types, type safety, and flow analysis

Guido van Rossum guido@CNRI.Reston.VA.US
Wed, 22 Dec 1999 15:17:01 -0500


This is the last thing I'm saying in this thread before the new year:

> Our difference lies in two items:
> 
> * I do not believe that you can do cross-function, compile-time checks to
>   determine if a name is undefined.
>   [ or if a name has different types over time, which type it may be ]

I'm assuming that a global name in a module won't be undefined once it
is defined if there are no deletions of it anywhere in the module.  I
believe this catches 99.9% of all module globals (including functions,
classes, and imported modules).

> * I am requiring the ability to associate typedecl objects with a function
>   object at runtime. This imposes the requirement on a typedecl name (such
>   as a class' name) being defined at the point that a function is defined.
>   [ I also want typedecl objects associated with a class object and a
>     module object so that we can reflect on their interface at runtime ]

I only care about that as a secondary objective.  The run time
information made available follows whatever we decide we do at compile
time.

> We can agree to disagree on the first item (I'll let you write the code
> to do that :-). I'd like your opinion on the second.

I don't think the second requirement should affect the type checking
rules.

--Guido van Rossum (home page: http://www.python.org/~guido/)