It may be a bug somewhere in a Compiler. I've lost track at https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Compiler.java#L6624
after debugging this: user> (def x `(quote ~(list 1 (clojure.lang.PersistentTreeMap/create (seq [1 2 3 4]))))) #'user/x user> x (quote (1 #sorted-map (1 2 3 4))) user> (.eval (clojure.lang.Compiler/analyze clojure.lang.Compiler$C/EXPRESSION x)) (1 #sorted-map (1 2 3 4)) user> (eval x) (1 {1 2, 3 4}) JW On Thursday, August 8, 2013 10:14:57 PM UTC+2, David James wrote: > > I'd really appreciate if others could take a look. I wonder if it may > be a Clojure reader bug. > > On Thu, Aug 8, 2013 at 3:55 PM, Jozef Wagner > <jozef....@gmail.com<javascript:>> > wrote: > > It seems there is something else in data reader which causes this > change. > > > > user=> (class '#foo/sm (1 2 3 4)) > > clojure.lang.PersistentArrayMap > > user=> (class (read-string "#foo/sm (1 2 3 4)")) > > clojure.lang.PersistentTreeMap > > > > It's quite puzzling. In both cases the evaluation does not take place, > but > > still the transition to PersistentArrayMap occurs. > > > > JW > > > > On Thursday, August 8, 2013 9:49:24 PM UTC+2, David James wrote: > >> > >> That's a good point about: > >> user=> eval (to-sorted-map '(1 2 3 4))) > >> {1 2, 3 4} > >> > >> But this should work, right? > >> user=> (assoc #sorted-map (:a 1 :b 2) :c 3) > >> {:c 3, :a 1, :b 2} ; incorrect > > > > -- > > -- > > You received this message because you are subscribed to the Google > > Groups "Clojure" group. > > To post to this group, send email to clo...@googlegroups.com<javascript:> > > Note that posts from new members are moderated - please be patient with > your > > first post. > > To unsubscribe from this group, send email to > > clojure+u...@googlegroups.com <javascript:> > > 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+u...@googlegroups.com <javascript:>. > > For more options, visit https://groups.google.com/groups/opt_out. > > > > > -- -- 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.