Yes, but for many languages which are that dynamic, we now have JIT VMs which gather tracing data and can empirically tell us what the types actually are. This is especially true for server apps, which can provide us with large datasets. Also, as noted in a recent article posted to HN, after a certain span of time, most apps in dynamic langs behave as if statically typed. Why don't we use this information? It happens to be move available when it is most valuable. (When a codebase has "matured" and things are moving more towards a "maintenance" mode.)
Eh? I'm not disputing that at all, I'm a contributor to PyPy, probably the leading python JIT. None of that has anything to do with whether it's semantically possible to do a full type inference on a language like Python.
Comments
Yes, but for many languages which are that dynamic, we now have JIT VMs which gather tracing data and can empirically tell us what the types actually are. This is especially true for server apps, which can provide us with large datasets. Also, as noted in a recent article posted to HN, after a certain span of time, most apps in dynamic langs behave as if statically typed. Why don't we use this information? It happens to be move available when it is most valuable. (When a codebase has "matured" and things are moving more towards a "maintenance" mode.)
Eh? I'm not disputing that at all, I'm a contributor to PyPy, probably the leading python JIT. None of that has anything to do with whether it's semantically possible to do a full type inference on a language like Python.
Full type inference has not been done in python... however partial type inference on python has been done.
The article is talking about partial type inference, and most implementations of type inference I've seen do partial type inference.
I'm not disputing either. I'm just pointing out that the dynamic language communities are neglecting a really valuable resource.