Fork me on GitHub

suitable provides "IntelliSense" for ClojureScript / JavaScript interop by using the live runtime for method / property enumeration. Figwheel and CIDER are supported right now.

馃憤 56
馃嵕 32
鉂わ笍 16
clj 16
馃帀 16

This is super! I have been thinking about it for such a long time now, thanks for the effort!

Karol W贸jcik15:07:36

Would love to see the same thing for shadow-cljs as well 馃檪 Good job @U08LZDL1H


Thank you 馃檪 Haven't worked with shadow-cljs yet but will take a look.


I just gave it a spin and it works like magic in Emacs. Excellent work! 馃帀

馃憤 8

great job! does it require figwheel main to be used together with cider?


@U4BEW7F61 No, this should run in other repls as well. I tested it on nashorn and with weasel. All it needs for use with cider is that the cider-completion and piggieback middlewares are there - which is the default.

Ahmed Hassan14:08:34

Would it work if I do cider-connect-cljs?


We published a blog post about one specific but important tactic I used when writing libpython-clj in order to allow python to call clojure functions. I don't think this is necessary knowledge to use panthera or libpython-clj but it is a key piece to building a new binding to a C system elsewhere and just a good general piece of knowledge about how certain things work in the C world: Also, libpython-clj, the underlying tech stack, and Alan Marazzi's Panthera all have new versions out. Enjoy 馃檪

馃憦 4

I dug into Reagent Components and wrote about my journey to understanding what happens to them by the time they get to React

馃憦 28
馃憤 12

Input is very welcome :hugging_face:


this is fantastic

馃檹 4
Noah Bogart17:08:31

> They are not a formal syntax in the language wich you can just look up.

Noah Bogart17:08:27

this is a fantastic article

馃檹 4

it's nice, thanks! I have little JS background and I can't see where you explain why things are being done like that instead of in the traditional 'pseudoclassical instantiation pattern'


That鈥檚 a good point. The reason I did not specifically address that is because my answer would be based on inference rather than providing the actual reason as to why the Reagent team went the route they did. I actually went so far as to replace the create-class implementation with the traditional pseudoclassical instantiation pattern I specified in the blog post and Reagent seemed to continue to work as is and the tests continued to pass 馃し So based on this the best I can do is say: maybe there was/is a technical reason (google closure compiler related?)? or perhaps their implementation just worked so they went with it? Either way, I will address this in the footnotes.