Динамически получать исходные строки реализации мультиметода clojure - PullRequest
0 голосов
/ 17 октября 2018

Я заинтересован в получении исходных строк всех реализаций мультиметодов clojure для целей документирования.

Что-то похожее на

(->> (methods my-multimethod)
     (map (fn [[k f]] (clojure.repl/source-fn f))))

clojure.repl / source-fn не работает, потому что требует наличия исходного кода на диске или чего-то подобного.

Любая идея, как я могу получить к источнику, динамически похожему на приведенный выше?

1 Ответ

0 голосов
/ 17 октября 2018

defmethod не создает переменную, которую мог бы использовать clojure.repl/source-fn.

Единственный способ, который я вижу, - это просмотреть все исходные файлы и отфильтровать все определения defmethod.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...