> Suppose we have a typesystem which has the type ANY, which would mean > such an object could be any type. You could then have homogenous lists > in the sense that all elements should be of the same declared type and > at the same time mix all kind of type in a particular list, just > as python does.
The you have JAVA Object or C void*. Which cause all kinds of runtime troubles.... because they essentially circumvene the typechecking! > > So how would this limit python. The limitation is that in static languages I must _know_ what type to cast such an ANY, before calling anything on it. Otherwise its useless. >>even though ususally the contents of a list >>share some common behaviour. And that exactly is the key point here: in >>a statically typed world, that common behaviour must have been extracted >>and made explicit. > > > Would my suggestion be classified as a statically typed world? See above. > > >>Which is the cause for that notorious java io API. >>And, to extend the argument to ML-type type-checking, there you need a >>disjoint union of the possible types - _beforehand_, and the code >>dealing with it has to be aware of it. >> >>In python OTH, I just pass objects I like into the list - if they >>behave, fine. > > > But now we are no longer talking about how typechecking would limit > the language but about convenience for the user. That's dialectics. Limits in the language limit the user and make things inconvenient. Diez -- http://mail.python.org/mailman/listinfo/python-list