Paul Rubin wrote: > David Hopwood <[EMAIL PROTECTED]> writes: > >>Note that I'm not claiming that you can check any desirable property of >>a program (that would contradict Rice's Theorem), only that you can >>express any dynamically typed program in a statically typed language -- >>with static checks where possible and dynamic checks where necessary. > > It starts to look like sufficiently powerful static type systems are > confusing enough, that programming with them is at least as bug-prone > as imperative programming in dynamically typed languages. The static > type checker can spot type mismatches at compile time, but the > types themselves are easier and easier to get wrong.
My assertion above does not depend on having a "sufficiently powerful static type system" to express a given dynamically typed program. It is true for static type systems that are not particularly complicated, and suffice to express all dynamically typed programs. I disagree with your implication that in general, static type systems for practical languages are getting too confusing, but that's a separate issue. (Obviously one can find type systems in research proposals that are too confusing as they stand.) -- David Hopwood <[EMAIL PROTECTED]> -- http://mail.python.org/mailman/listinfo/python-list