> Haskell is a dynamic language, and there are optimizing compilers for it.
Last time I used Haskell it was statically typed but this has been almost a year ago and times are changing fast. About optimizing compilers for Python. These won't work without restrictions a la Shedskin which uses C++ as its backend. But unlike Shedskin and the design mistake being made in this project we can learn the lesson from Psyco that there must be a fallback to bytecode interpretation when some argument does not fit the signature of a specialized function. I'm personally a bit skeptical about JIT compilation since I feel it's a waste of electric currency to start recording all the information at runtime and perform native compilations again and again. It doesn't mean that JIT compilation can't be effective. I have a conceptual bias against it. Instead I expect a rather stable behaviour and rather fixed nominal types despite the fact that Python supports duck-typing. Unfortunately I'm unable to recover an investigation about the effectiveness of adding tests to a rather well equipped testbase. The result was one of "declining profits". Stable behaviour emerged early with good coverage properties. Than one had to work hard to improve and find more bugs. A similar effect might also cause the effectiveness of dynamic typing for catching errors which is not easy to justify by purely theoretical arguments. ----- Note that I worked out some pieces of a type feedback mechanism that records types and displays the results in a slightly modified Python dialect called TPython. A TPython program can be regarded as a "typed hypothesis" about an otherwise untyped ( or dynamically typed ) Python program. You can keep the TPython program and translate it completely or fragments of it to other languages like C++, D, Java, OCaml etc. Obviously this approach shall be used for incremental progress and smooth integration and it might work even when only small portions can be translated ( typically functions that keep and return only integers/ floats which are bound in range are a good start ). So far everything is implemented in pure Python and the amount of source is < 1000 LOC. I have not published anything of it yet and i'm a rather slow publisher anyway. If anyone is interested in this kind of work and willing to contribute i might set it aside from the usual EasyExtend stuff ( which is the foundation nevertheless ) I'm working on and reframe the project context e.g. on Sourceforge or elsewhere. Email address and project page are still [EMAIL PROTECTED] www.fiber-space.de If no one contributes the fun is exclusively on my side and everything is moving slower. That's all. -- http://mail.python.org/mailman/listinfo/python-list