That's weird. I see no reflection warnings when loading this on 1.3 alpha 1.
Stu > The following program compiles and runs perfectly fine in both 1.2 and 1.3 > alpha1. It has no reflection warnings in 1.2, but it does in 1.3 alpha1. I > have tried several variations, but I haven't yet been able to figure out how > to write type declarations that avoid reflection in 1.3 alpha1. Does anyone > know whether this is a bug? > > Or perhaps code like this ought to be structured completely differently in > order to avoid reflection, and it was just a fluke that it worked in 1.2? > > Thanks, > Andy > > (ns nbody > (:gen-class)) > > (set! *warn-on-reflection* true) > > (definterface IBody > (^double x []) > (^double y []) > (^double z []) > (^double dist [other])) > > (deftype Body [^{:unsynchronized-mutable true :tag double} x > ^{:unsynchronized-mutable true :tag double} y > ^{:unsynchronized-mutable true :tag double} z ] > IBody > (x [this] x) > (y [this] y) > (z [this] z) > (dist [this other] > (let [^Body nbody other > dx (- x (.x nbody)) ; first reflection warning here > dy (- y (.y nbody)) ; second here > dz (- z (.z nbody)) ; third here > dsq (+ (* dx dx) > (+ (* dy dy) > (* dz dz)))] > (Math/sqrt dsq)))) > > (defn -main [& args] > (let [b (Body. 0 0 0)] > (println "pos:" (.x b) (.y b) (.z b)))) > > -- > 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 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