I'm trying to come up with a function that will take a namespace containing 
Record definitions and convert it into a :readers map for EDN parsing. 
Right now, I'm just doing it manually, but as the number of records grows, 
this feels sillier and sillier. I haven't found anything in the core 
libraries yet that would seem to help me here. The only "ns-" function that 
gets me some of what I need is (ns-publics), which I could use to parse out 
the map functions.

To be more clear, I have a namespace in the project like this:

(ns proj.core.records)

(defrecord NodeAddress [node address])
(defrecord NodeComplete [node completed status)
... etc.


Then at the end of the file, I'm manually creating a map for use with EDN:

(def reader-map
  {'proj.core.records.NodeAddress map->NodeAddress
   ... etc. })


I feel like there should be an elegant way to do this, but I haven't seen 
anything like what I have in mind. I'd love to put together a general 
purpose function I could use like this:

(edn/read-string {:readers (reader-map 'proj.core.records)} data)


Does anyone have some insights, or suggestions, or maybe something out 
there already (this seems to me like an obvious thing to do)?

Thanks

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to