3 ms·
And if you are lucky enough to be dealing with a functional javascript library like d3, you can even use cljs functions as arguments to your js library. This le
by dribnet 14y ago
And if you are lucky enough to be dealing with a functional javascript library like d3, you can even use cljs functions as arguments to your js library. This leads to very succinct and powerful interop.
For example:
(.timer js/d3 (fn []
(-> root (.selectAll "g") (.data curClockData)
(.select "path")
(.attr "class" #(str (:key %) (:which %))))
; return false to keep running
false))))
This snippet does this twice to provide a longish function to the d3.timer call and a small inline one to attr to set a class based on the data in the selection. More context available: http://bl.ocks.org/4326896 http://bl.ocks.org/4326896
ObTopic: cljs in cljs does sound dreamy. Would this also enable <script type="text/clojurescript">?
- swannodette 14y agoNice D3 example! I predict we will see an "official" CLJS-in-CLJS around the time of the next Clojure/conj ;)
- kanaka 14y agoAnd hopefully "unofficial" CLJS-in-CLJS by Clojure West. :-) I just pushed type/record/protocol/reify support. Next big thing is to fix runtime namespace creation. Then file I/O. Then all the bugs discovered while try to compile the compiler using the compiled compiler (i.e. self-hosting).