In Clojure 1.6.0, *range* returned a LazySeq, which could be tested with *realized?*. In Clojure 1.7.0 and 1.8.0-alpha3, it returns an Iterate, a Range, or a LongRange*. * realized? only works with the first of these three. For example:
Clojure 1.6.0: user=> (class (range 5)) clojure.lang.LazySeq user=> (realized? (range 5)) false Clojure 1.7.0: user=> (class (range)) clojure.lang.Iterate user=> (realized? (range)) true user=> (class (range 5)) clojure.lang.LongRange user=> (realized? (range 5)) ClassCastException clojure.lang.LongRange cannot be cast to clojure.lang.IPending clojure.core/realized? (core.clj:7228) Is this intended behavior, or a bug? Is there another predicate that should be used now to test whether ranges are realized? -- 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.