This software is an ANSI C compiler that specifically targets high-level programming languages.
Clue is an attempt at using dynamic VMs to run static code. It is interesting to see how modern JITs can produce machine code from dynamic languages, gathering all the necessary type information just from watching the program run. Clue discards all the type information, allowing the JIT to have a go at running the code.
However, the resulting code runs about 10-100 times slower compared to just compiling the program with gcc. The software supports the ANSI standard; however, most programmers do not. Non-ANSI behavior like casting a pointer to an integer or vice versa is common and does not work with Clue. So stock code is unlikely to run on Clue unless the authors have been particularly disciplined.
Clue is based on the sparse C compiler frontend, which is plugged into a custom register allocator and code generator that emits the code. It is written in gcc-dialect C and should run on most systems, although it has been developed on Linux and makes major assumptions about living in a Unix environment. Documentation is provided and any problems can be addressed by joining their mailing list.
Clue has a few backend interpreter Whetstone scores which can be used as reference. The gcc score is included as well. Code compiled through Clue and run on Mike Pall’s LuaJIT runs at about a fifth the speed of native. However, Javascript versions seem to be much slower, and Perl does not win any speed awards.
In conclusion, Clue is experimental software that is not necessarily useful. Its sole purpose is to be interesting.
Version 0.5: N/A