Chamadas de método dinâmico em uma macro Clojure?
Eu estou tentando escrever uma macro que irá chamar métodos de definidor de java com base nos argumentos dados a ele.
Então, por exemplo:
(my-macro login-as-fred {"Username" "fred" "Password" "wilma"})
pode se expandir para algo como o seguinte:
(doto (new MyClass)
(.setUsername "fred")
(.setPassword "wilma"))
Como você recomendaria lidar com isso?
Especificamente, estou tendo problemas para encontrar a melhor maneira de construir o nome do método setter e interpretá-lo como um símbolo pela macro.