I’m currently working on a project that leans on the analyzer pretty heavily, and I’m convinced that the AST-as-data model is going to revolutionize Clojure tooling in terms of quality and ease-of-use. You can use it to write code that understands other code – making good on the promise of Lisp on a higher level than even macros allow.
In case anyone’s interested in playing around with tools.analyzer but wants to have some documentation on hand before diving in, I wrote a quickref to the AST node structures a little while ago.
I’m currently working on a project that leans on the analyzer pretty heavily, and I’m convinced that the AST-as-data model is going to revolutionize Clojure tooling in terms of quality and ease-of-use. You can use it to write code that understands other code – making good on the promise of Lisp on a higher level than even macros allow.