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
> <[email protected]<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 [email protected]<javascript:>
> > Note that posts from new members are moderated - please be patient with
> your
> > first post.
> > To unsubscribe from this group, send email to
> > [email protected] <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 [email protected] <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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.