FWIW: I was working on my own attempt at a self-hosting CLJS compiler up until 
a few months ago, and actually wound up submitting a GSoC project proposal to 
make the mainline cljsc self-hosting. Though it wasn't accepted, I did have the 
opportunity to talk to some of the other people working on CLJS compiler stuff 
and get a feel for what is and isn't planned for the future.

Broadly speaking, tools.analyzer is more or less host-agnostic as is; it only 
takes a few fairly trivial modifications to get the current tools.analyzer to 
compile to JS under the current cljsc. The current primary maintainer of the 
tools.{reader,analyzer} libraries is decidedly interested in ports of each to 
CLJS, and his own GSoC project will likely produce some progress in this 
direction.

We don't quite yet have a "tools.analyzer.js" or similar that would fulfill a 
similar role to t.a.jvm for the JS platform, but it'd not be too difficult to 
write one on top of tools.analyzer as is.

I was told that cljx categorically won't be accepted as a dependency in any 
contrib libraries; there _does_ exist a desire to add feature expressions 
directly to the language in the near future, which would play more or less the 
same role.

Probably the most promising thing I've produced myself is an unfinished 
experimental "tools.emitter.js" that replaces the current cljsc's 
string-munging model of JS generation with a functionally pure pipeline from 
Clojure AST -> JavaScript CST -> raw JS code string.

Overall, I think the best path forward does indeed involve modifying the 
current mainline cljsc to use tools.analyzer(.js) and tools.emitter.js as soon 
as those libraries exist in usable form. CLJS-in-CLJS as a goal is probably 
well within reach given the pace of progress on the various 
tools.{reader,analyzer,emitter} libraries that already exist, but it'll take 
some heavy lifting to put all the pieces together.

-Max

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to