Problem
- analyze passes Clojure forms through the Clojure analyzer and converts the output to maps
- Various private fields/classes kills any performance, reflection becomes a massive bottleneck
Solution
- Make all Expr's in Compiler.java public
- Now that the analyzer is being used outside the Compiler, this seems to be the right choice.
Labels:
2 Comments
Hide/Show CommentsJul 27, 2012
Stuart Halloway
I really want to see analysis tools get better, and easier to write, but I am worried that exposing Clojure implementation details is pouring concrete around our feet.
Better would be to make the ClojureScript analyzer (which has a well-considered data interface) smart enough to do the parts of the job it cannot currently do. I say this without having assessed how much work that is.
Jul 28, 2012
Ambrose Bonnaire-Sergeant
If you mean rewrite analyze to produce AST nodes identical to ClojureScript, then I can do that. I'd like to get it into Clojure Contrib at some point, it would make sense for it to produce unified AST nodes.
If you're proposing writing some Java, not so much