Before I ask anything, let me note that this is surely an old question that has inspired its share of flame wars; I'm new to Python, but not new to how Internet discussions work. So if there's a canonical thread or web page that documents the whole battle, feel free to point me to it.
Reading [1], I wonder: why isn't the compiler making better use of (purely optional) type labeling? Why not make a compiler directive so that a) it will check the types of all my arguments and return values, and maybe even b) do some type inference up the call stack? E.g., def( Class1 arg1, Class2 arg2, ..., ClassN argN ): someStuff() would check the types of the arguments, whereas def( arg1, arg2, ..., argN): someStuff() would not? I.e., if I *want* strong static type-checking, why shouldn't I be able to get it? Is it that allowing this as a compile-time option would mess up too many knobs to make it optional? Again, probably an old debate. I'd like to know why Guido's decided that not only is strong static typing productivity-reducing [2], but that it should be *forbidden*. [1] - http://www.python.org/dev/peps/pep-3107/ [2] - http://www.artima.com/intv/strongweakP.html -- Stephen R. Laniel [EMAIL PROTECTED] Cell: +(617) 308-5571 http://laniels.org/ PGP key: http://laniels.org/slaniel.key -- http://mail.python.org/mailman/listinfo/python-list