3 ms·
well what does make emitting C different from emitting LLVM IR? neither backends are meant to emit human readable code, the LLVM IR is also a "language", etc...
by aEverr 5y ago
well what does make emitting C different from emitting LLVM IR? neither backends are meant to emit human readable code, the LLVM IR is also a "language", etc...
- gavinray 5y agoHence the "it's pedantic" ending part of my argument. To me, if the thing that gets emitted is another regular programming language, you've done transpilation. If the thing that gets emitted is IR, bytecode, object code, essentially anything that's not something you would read/write yourself and is a step further towards being executable, it's "compilation". I see transpilation as lateral/horizontal movement on the "path to being able to run it" chain, and compilation as vertical movement towards the executable end-goal. But, again -- "pedantic", and just my $0.02.