Francis> "Every well-formed expression of the language can be assigned a Francis> type that can be deduced from the constituents of the Francis> expression alone." Bird and Wadler, Introduction to Functional Francis> Programming, 1988
Francis> This is certainly not the case for Python since one and the Francis> same variable can have different types depending upon the Francis> execution context. Example :
Francis> 1- if a is None: Francis> 2- b = 1 Francis> 3- else: Francis> 4- b = "Phew" Francis> 5- b = b + 1
Francis> One cannot statically determine the type of b by examining the Francis> line 5- alone.
Do you have an example using a correct code fragment? It makes no sense to infer types in code that would clearly raise runtime errors:
On the contrary, the point of type inference is to detect such errors. If the program was always well-formed, there would be no point in developing a type inference tool.
Philippe -- http://mail.python.org/mailman/listinfo/python-list