[self-host] The pprint.clj file is almost usable from bootstrap, apart from one use of macroexpand. One conditionalized solution involves the use of cljs.js. Perhaps this big hammer can be employed as a last resort when porting ClojureScript macro implementations that use certain Clojure-specific features. I’m wondering if there might be a better solution and if others here have ideas. Here’s my whack at it: https://github.com/mfikes/clojurescript/commit/5a79cab0f288511ed6cb38fc9a8808dea6393f4d
@darwin: It works. (See the comment below the code showing it working.) In general, you are right and this code could in theory fail. I think it is working because no async calls to *load-fn* are being made. A proper solution would likely involve rippling the async nature through the users of the macro, which would likely be problematic.