В clojure 1.2RC1, я хочу получить функцию, основанную на ее имени как строке, и оценить ее.
Определение функции
(ns my-ns)
(defn mycar [x] (first x))
Сработало следующее:
((ns-resolve *ns* (symbol "mycar")) '(3 4))
((intern *ns* (symbol "mycar")) '(3 4))
((eval (symbol "mycar")) '(3 4))
но они кажутся уродливыми. Есть ли способ лучше? Если нет, то какое из вышеперечисленных вопросов является самым идиоматическим?