Как я могу взять большой существующий проект Java и начать добавлять модули Clojure? Например, в приведенном ниже коде я хотел бы сделать следующие функции доступными в Java: state?, zip?, state-list, zipcode-list. Два предиката вернут логическое значение, но "получатели" возвратят массивы.
(def *states* (list "NJ" "NY" "CA"))
(def *zipcodes* (list 12345 54343 98765))
(defn member [x sq]
(if (seq sq)
(if (= x (first sq))
sq
(recur x (rest sq)))))
(defn state? [aState]
(not (= (member aState *states*) nil)))
(defn zip? [aZip]
(not (= (member aZip *zipcodes*) nil)))
(defn state-list []
*states*)
(defn zipcode-list []
*zipcodes*)
;; ---------------
(state? "AA")
(state? "CA")
(zip? 11111)
(zip? 12345)