Good to see the compilation target list is growing. The Clojure->Scheme->C target has previously been discussed on HN, sad to see it isn't being actively worked on now. The Clojure->C target is new to me though, and is active. The documentation is a bit light and I can't gleam how to use it from the tests. Has anyone here played with it and know what's going on?
Lisps in general are appealing to implement. Clojure's core language is about as small as Scheme's, and there are a lot of Scheme implementations too. The parts of Clojure that set it apart from other Lisps (STM, persistent data structures) aren't always ported. I don't think any of the recent approaches to targeting C (Clj->Scheme->C, Clj->C) include STM or persistent data structures. I'd be happy to be pleasantly surprised though.
persistent data structures are implemented in ClojureScript. So they don't need to be ported for new compilation targets of ClojureScript like C in clojurec, I think.
ClojureScript's core library has a dependency on Google Closure, and are optimized with knowledge of javascript vms. david nolen said that v8, for example, is blazingly fast at sequential instructions so they take great care to avoid function calls in critical paths.
Clojure was specifically designed to have multiple target implementations. That's the why it's approachable. As for why it's desirable, clojure is a high-level language and as such has certain niceties that are difficult to give up when forced to drop down to a lower level.
https://github.com/schani/clojurec