Please don't be a jerk on HN. I'm sure you don't mean to be, but comments like this can really come across the wrong way. That's one reason the site guidelines include: "Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."
I don't personally think the fact that there are hundreds of other articles that already cover the same topic in greater depth is a shallow dismissal, and I think that could teach people something. But I'm open to the possibility that I maybe could have communicated this in a kinder way. Do you have any suggestions on how?
I guess I was technically wrong in that it does have an emitter, but I wasn't wrong in that it still doesn't emit assembly. gcc (or whatever you're using to compile your C) is still doing all the nuclear reactor part.
Sorry that I'm coming across as critical of your work here--that wasn't my intent but I didn't do enough to avoid it. Your article isn't the problem, it's just proximal to the problem I'm describing. I should have been more clear about that in my post.
To address your post: I'm not aware of any widely used compilers that compile from a general-purpose language to C. There are a handful of DSLs that do, and there may be some mainstream general-purpose language compiler that does that I don't know of.
Compiling to LLVM or GCC's RTL has a lot more in common with compiling to Assembly than it does with compiling to C.
Compiling to LLVM/RTL/assembly is fundamentally different from compiling to another high-level language. When compiling to C for example, you get to compile your for loops into C for loops--it's a fairly easy one-to-one conversion. Compiling to conditional jumps is a much more complicated endeavor, requiring more architecture.