When this project was started, it was unclear that compiling Tcl was even feasible, much less useful. The performance metrics taken clearly show that it is feasible. The latter will be determined as this project nears release and users begin compiling real Tcl scripts. However, the results are auspicious: ten-fold performance improvements are almost always useful.
The existing system is far from complete. There are many types and many commands which have not been implemented, and are currently being left in string form by the compiler and runtime system. Internally, the software has been kludged in several places in order to provide fast proof-of-concept, at the expense of long-time viability, which will have to be replaced in the near future. Lastly, there are the usual array of bugs, which must be eradicated before any attempt is made at production usage.
On the wish list, we include the ability to support direct-conversion functions. This is needed in the case of a arg-type mismatch of two similar types, where one would want implicit conversion (ie. int to float). This has the potential to provide great performance gains in these cases, as compared to the current system which converts to a string and then into the detsination type.
Second, few of the data types are implemented. Of these, the most important are lists. Some preliminary tests indicate possible gains of 1-2 orders of magnitude over the existing system of storing lists as strings.
Lastly, we propose make the replacement callback style (structure pointers instead of string pointers) become the standard for Tcl for some future version. In this system, callbacks which want strings would need to ask for them as a real data type. This has the potential to channel the performance improvements back to users employing the command line, since such a system would not need to rely on the compiler.
We would like to thank the following people for their advice, contributions and other assistance: John Ousterhout, Sue Graham, Raph Levien, Brian Dennis, and the members of the Tcl/Tk Users Group. Ashok Singhal, Colas Nahaboo, and Wayne Throop provided a multi-language test suite.