Как я могу взять большой существующий проект 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)