Ion is a data serialization format from Amazon http://amzn.github.io/ion-docs/
One lf its supported data type is symbol, defined as: Interned, Unicode symbolic atoms (aka identifiers) I interact with systems that interchange their data using ION. My systems use EDN though internally. Thus I need to convert from ION to EDN and back in a lossless manner. If you give me ION with symbols in them, and I convert them to EDN, I need be able to go back to the exact same ION symbol when converting my EDN back to ION. If I make symbols string, I lose the type info, and would convert it back to an ION string. This wouod break my clients. I thought I could get away not having to build a custom representation for them in Clojure and EDN, and piggyback on keywords. It now seems to me like I can still piggyback on keywords when in Clojure, since `keyword` and clojure.lang.Keyword appear to support full unicode. But it seems EDN does not support full unicode serialization for them. So I've extended the edn serialization and deserialization so that it does. I did so by overriding print-method for keywords so that when it prints in an unreadable way, it instead outputs a custom literal #myproject/keyword "namespace/name". And I've added a reader for this which uses keyword to get a Clojure keyword back. Does any of this seem unsound to anyone? -- 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/d/optout.