Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes, it is. You can just do (js/$ ".something") and you'll get jQuery object back.


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

ObTopic: cljs in cljs does sound dreamy. Would this also enable <script type="text/clojurescript">?


Nice D3 example!

I predict we will see an "official" CLJS-in-CLJS around the time of the next Clojure/conj ;)


And 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).


I think he meant the reverse. I know it is fairly doable in Clojure on the JVM, I assume ClojureScript is fairly similar. You have to use Var objects iirc.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: