Hey, I'm writing a Clojure Webapp with a CLJS Frontend and expected to be able to cljs.reader/read-string everything I pr-str'd on the CLJ side. That however does not work for defrecords and BigDecimals (1.1M) .
1. defrecord In CLJ I can: (ns dummy) (defrecord Foo [bar]) (pr-str (Foo. 1)) ; => "#dummy.Foo{:bar 1}" in CLJS however this will print as "#Foo{:bar 1}" missing the Namespace. I found an old post<https://groups.google.com/d/msg/clojure/YSkPd4zQTKQ/757Wd4Ex8pAJ>about this but no other information. Also when I pr-str this record in CLJ and cljs.reader/read-string it in CLJS it fails with "Could not find tag parser for dummy.Foo in ("inst" "uuid" "queue") ", although the defrecord exists and is in the same ns (actually a cljsbuild crossover). I figured out that I can (cljs.reader/register-tag-parser! 'dummy.Foo make-foo) but thats seems faulty. I read about EDN and understand why the reader would think its reading a Tag but I can do read-string in CLJ just fine. Shouldnt both sides be equal here? 2. BigDecimals: I understand that JavaScript has no BigDecimals and I can live with js/parseFloat on the Client for now, however is there any way I can hint the CLJS printer to print "1.1" as "1.1M"? On the Topic of EDN: How would I "tag" a value in CLJ(S) to print {:foo "bar"} as #my/tag {:foo "bar"}? The docs only talk about data_readers.clj. The answers probably lie in the sources, but I hope somebody here has a quick answer. ;) Cheers, /thomas PS: I'd actually prefer using "tagged" literals instead of the defrecord constructor form since I dont trust anything coming from the client even it looks like clojure data. Is there some protocol I can implement for the record and have it print as tagged instead? For CLJ and CLJS? :) -- 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