Planck Macros AOT
Planck ships with a few macro namespaces which are now AOT compiled using Planck.
But, this has not been the case for the macro namespaces that ship with Planck. One example of such a namespace is the
planck.core macro namespace which provides a
But… there is another approach. Planck supports the caching capability of
cljs.js, which ultimately results in the compiled form of namespaces to be written out to disk. This caching also works for macro namespaces that you might author and load with Planck.
So, to AOT compile Planck's shipping macro namespaces, Planck itself is used during its build, essentially repurposing the caching capability to use Planck as a bootstrapped ClojureScript compiler for the limited purpose of AOT compiling its macro namespaces.
Like I said, there are probably other ways to accomplish this. But, I think it is interesting to just stick with Planck for building these artifacts. For now it is simple and gets the job done.