Areas | Compilers |
Good if student knows | Compiler construction, lexical analysis |
Priority | Medium |
Difficulty | Hard |
Benefits to the student | Learn practical application of compiler concepts |
Benefits to Tcl | Potential large increases in performance, security and ability to transform and deploy Tcl code. |
Mentor | ? |
The goal of this project would be to evaluate, update and improve the open-source OttoCompiler project written in the previous decade by Andreas Otto.
Compiling Tcl to binary executable code used to be an area of active research and development, with at least one successful commercial product released (see GE ICE Tcl compiler). But work in this area has more or less come to a complete halt.
Mr. Otto's project seems to be the only open-source compiler still accessible and available [L1 ]. The last release was designed to work with Tcl version 8.3.4. The author claims that the program is complete (if in need of update) and delivers significant performance improvements. Various reports and rumors suggest that it is difficult to install and use.
The student undertaking this project would install, evaluate and document the compiler and its theory of operation. As time and the condition of the program permit, the compiler would be debugged, updated, improved, and repackaged for use with modern versions of Tcl.
This would be a high-risk, high reward project, since the current condition of the program is difficult to evaluate. But the benefits for all Tcl users of a working open-source compiler are near-incalculable. It seems appropriate for a GSoC project, since the student is likely to learn a great deal even if it is not possible to deliver a final working product.
https://groups.google.com/d/msg/comp.lang.tcl/ZTnKIK928Bo/XnlDT64K-nsJ
http://phaseit.net/claird/comp.lang.tcl/tcl_compilers.html