この質問のフォローアップ: clojure でプリミティブを含むクラスのコンストラクターを取得する方法は?
.
クラス名の末尾にa を追加するだけのマクロを作成できることはわかっていますが、これを行う関数が必要です。
(defn construct [cl & args]
....... )
(construct "java.util.Date" 0)
;=> #inst "1970-01-01T00:00:00.000-00:00"
(construct "java.util.Date" 2013 4 27)
;=> #inst "2013-04-26T14:00:00.000-00:00"
(construct "java.util.Date" "27 Apr 2013")
;=> #inst "2013-04-26T14:00:00.000-00:00"
関数はプリミティブ型をどのようにチェックしますか?