Replete – a standalone ClojureScript REPL for iOS
github.com
github.com
Would you be able to explain, at a high level, how ClojureScript bootstrapped itself, and how Google Closure comes into play?
So we simply conditionalized a few key things in the analyzer and then we just point ClojureScript JVM back at its own sources. This part was actually very simple to do. However much more challenging is the issue of macros. As with many Lisps, Clojure has only a few primitive special forms and most of the language is actually written in terms of macros. ClojureScript is no different, the macros files is longer than the analyzer or the compiler.
You can see ClojureScript's meta-circular moment here - https://github.com/clojure/clojurescript/blob/d1d3e866440626.... The macros file must load itself in order for it to be compiled into JavaScript.
Google Closure was always an additional optimization pass. The bootstrapped code we generate is still Closure compatible making it easy to run it yourself seperately as an optimization pass or to produce a single JavaScript file you can put somewhere on the Internet if you like.
Google Closure is used for its dependency management (ClojureScript namespaces and how they require other namespaces). But Google Closure is not used for its optimizations (everything is built with :none mode).
Also: Are there talks or posts describing the future applications for bootstrapped ClojureScript?
David Nolen spoke a bit about Cljs-in-Cljs at the end of his Om Next talk, given at EuroClojure a few weeks ago. It's on YouTube now.
Discussion on HN - https://news.ycombinator.com/item?id=9848602
I do not want to take away mfikes' thunder (super solid and amazing work by the way, sir. Saw your blog post on earlier work on /r/clojure on reddit ... I think, maybe a week or two ago), but how viable is something similar on Android?
I would LOVE to have something like on my Nexus 6 while in the park and outings with the family.
In short, to make an Android version would involve just running a JavaScript engine and hooking up a little bit of UI to send strings to it, and get strings back out of it.
Replete is open source... feel free to steal heavily from it.
Look at how simple and rough the first working version of Replete was (see demo of it at bottom of http://blog.fikesfarm.com/posts/2015-06-27-replete-a-standal...)
IMHO an Android version is just waiting to be created by someone. :)
Maybe I will steal a friend's iPad to play with your stuff. Will keep track of your stuff.
Also, it is a slightly older version, but if you want, you can try it directly online here: https://appetize.io/app/8hf37bv29k2zrj0v2j765xt3jr