Две версии для вас - полностью эквивалентные, но полезные для сравнения:
(defn -main [& args]
((-> args first symbol resolve)))
и это, используя деструктурирование и не ->
макрос использование:
(defn -main [[fn-name]]
((resolve (symbol fn-name))))
resolve
, очевидно, является ключом.Документы твой друг.:-) Кроме того, как несправедливое обобщение, eval
почти никогда не требуется.