PEP 3107 and stronger typing (note: probably a newbie question)

bruno.desthuilliers at gmail.com bruno.desthuilliers at gmail.com
Wed Jun 20 15:59:28 EDT 2007


On Jun 20, 8:53 pm, Stephen R Laniel <s... at laniels.org> wrote:
> 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,

Then you should use another language.

> why shouldn't I be able to get it?

Use Java and you'll get it.

> Is it that
> allowing this as a compile-time option would mess up too
> many knobs to make it optional?


Given that one can add/replace/remove methods and attributes
dynamically either on a per-class or per-instance basis, and even
dynamically change the class of an object, I fail to see how static
typechecking could be meaningfull.


> Again, probably an old debate. I'd like to know why Guido's
> decided that not only is strong static typing
> productivity-reducing [2],

He did not "decide".


> but that it should be *forbidden*.

I failed to see this word in the given url.

>
> [1] -http://www.python.org/dev/peps/pep-3107/
> [2] -http://www.artima.com/intv/strongweakP.html
>






> --
> Stephen R. Laniel
> s... at laniels.org
> Cell: +(617) 308-5571http://laniels.org/
> PGP key:http://laniels.org/slaniel.key





More information about the Python-list mailing list