Transpilers: 'compilers' that 'compile' from one language source to the source in another language
Why? What's the point? If at the end of the day your code has to be in the target language, you still
need to know something and use it to do more complex things like using modules and interfacing, so you
might as well use it for everything and simplify the pipeline and have less risks of bugs because you depend on some third party program.
Also, why not simply cut the middle-man? If you are transpiling to C, go all the way trough and compile to a binary or LLVM IR, if the target is Lua, compile directly to the LuaVM bytecode.
Transpilers also ruin the point of interpreted or JIT languages, the cool aspect of them is that you can change your code, save, and have the result run instantly, but now you have the 'compile' step that adds a level of complexity and indirection.