[Types-sig] Avoiding innovation

Guido van Rossum guido@CNRI.Reston.VA.US
Tue, 14 Dec 1999 12:36:44 -0500


> In response to Greg's message I want to add a design goal:
> 
> #11. Wherever possible the system should try to build upon existing
> implemented type systems and research rather than being designed from
> scratch for Python. It will build much more closely on dynamic
> language type annotation systems such as those in Smalltalk, Common
> Lisp, Dylan and Visual Basic. Java and C++ are of secondary interest
> as models.
> 
> ---
> 
> Python is just another syntax and virtual machine for the lambda
> calculus. It obeys the same mathematical laws as other programming
> languages. I think it would be a mistake to throw out everything that we
> know about type systems and implement something idiosyncratic.
> 
> Python IS a classical dynamic object/procedural programming language. It
> is not a research language and I dislike attempts to put in untested new
> ideas, especially in the area of type checks.

I like this.

I have almost always tried to avoid invention for the rest of Python,
and some of the few bits of invention are some of my least favorite
Python features.

I also often think of Python as a particularly dynamic
*implementation* of a fairly conventional type system.

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