Just wanted to jump in here and say that Thomas is correct. Plugging into the CLJS compiler is probably not the right place to start. The CLJS compiler is built for speed and as such is somewhat less modular than the tools.analyzer/tools.emitter projects. So start there if you're looking to build a tool or a new compiler backend. The resulting compiler may not be as fast as a one or two pass compiler (like CLJS) but it's easier to reason about in my experience.
On Tue, Feb 23, 2016 at 6:29 AM, Frank Castellucci <frankiec...@gmail.com> wrote: > Would not we want to "plug in" to the Clojure compiler? > > Feels weird to plug-in to ClojureScript to generate, say, python code. > > > On Monday, February 22, 2016 at 6:52:43 PM UTC-5, Antonin Hildebrand wrote: >> >> I like the idea. >> >> I was thinking about a similar project. The goal would be to design and >> implement user-configurable, pluggable system for "jacking" into >> ClojureScript compilation pipeline as discussed here[1]. >> >> The first dog-fooding application could be instrumentation middleware for >> collecting code-coverage information. I believe this could be implemented >> by rewriting forms between reader and analyzer. Or instrumenting AST output >> from analyzer before it gets passed to emit-phase. >> >> just my 2cents, >> Antonin >> >> [1] >> http://blog.fogus.me/2012/04/25/the-clojurescript-compilation-pipeline/ >> >> >> On Sunday, February 21, 2016 at 9:20:18 AM UTC+1, Edward Knyshov wrote: >>> >>> >>> >>> *Pluggable back-ends architecture for ClojureScript compilerBrief >>> explanation:* There are a lot of ClojureScript script compiler forks >>> exist to provide different compilation targets other than js. Most of them >>> are currently stuck because of rapid ClojureScript development and >>> difficulties with keeping fork in sync with upstream. We could consider >>> refactoring ClojureScript to provide plugable backends architecture, >>> specifically to allow users replace code generation stage of compiler and >>> implement js generator as one of such backends. >>> >>> *Expected results: *ClojureScript compiler is refactored to allow >>> further active development of plenty other backends to bootstrap Clojure in >>> such environments as c/c++, llvm, python, emacs lisp, lua, etc. Ability to >>> use clojure mostly everywhere. >>> >>> *Knowledge:* ClojureScript, Clojure, JavaScript >>> >>> Need to know, what do you think guys. >>> >> -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- “One of the main causes of the fall of the Roman Empire was that–lacking zero–they had no way to indicate successful termination of their C programs.” (Robert Firth) -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.