Динамические вызовы методов в макросе Clojure?

Я пытаюсь написать макрос, который будет вызывать методы установки Java, основываясь на переданных ему аргументах.

Так, например:

(my-macro login-as-fred {"Username" "fred" "Password" "wilma"})

может расшириться до чего-то вроде следующего:

(doto (new MyClass)
  (.setUsername "fred")
  (.setPassword "wilma"))

Как бы вы порекомендовали заняться этим?

В частности, у меня возникли проблемы при разработке наилучшего способа создания имени метода установки и интерпретации его как символа макросом.

Ответы на вопрос(4)

Ваш ответ на вопрос