Я пытаюсь выяснить, где находится исходный код макроса defprotocol
.Как определяется макрос defprotocol в clojurescript?
в cljs.core
источник:
https://github.com/clojure/clojurescript/blob/master/src/cljs/cljs/core.cljs
В defprotocol
макросы выскакивает внезапно на линии 155 (наряду с функцией -invoke
). Где мы можем найти, где это реализовано?
Спасибо! Btw ... Вы знаете, как работает макрос js *? Я вижу это во всем коде cljs.core, но нет определения – zcaudate
js * не является макросом, это специальная форма. Он используется, чтобы позволить ClojureScript при необходимости упасть на Javascript. В [этом видео] (http://www.youtube.com/watch?v=5edtbpVOOBI&feature=player_detailpage#t=1681s) Крис Хаузер рассказывает об этом немного. –
Код, который реализует js *, находится в этом файле: [analyzer.clj] (https://github.com/clojure/clojurescript/blob/master/src/clj/cljs/analyzer.clj#L826) –