Запись карт / массивов clojure в файл и чтение их обратно

Мне нужно сохранить карты clojure в файл и прочитать их позже, чтобы обработать их.

Это то, что я мог придумать. Есть ли лучший способ сделать то же самое?

user=> (def my-data (for [ a [ "Person1" "Person2" ]  b [ "Address1" "Address2"]  c   (range 10) ] {:name a :address b :index c} ))
#'user/my-data
user=> (count my-data)
40

user=> (defn write-data[xs] (with-open [wrtr (clojure.java.io/writer "my-data.txt") ]
              (doall (map #(.write wrtr (str % "\n")) xs))))
#'user/write-data

user=> (write-data my-data)

user=> (defn read-data[] (with-open [rdr (clojure.java.io/reader "my-data.txt") ]
            (doall (map #(load-string %) (line-seq rdr)))))
#'user/read-data

user=> (count (read-data))
40

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

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