Also, (realized? (range)) is true in 1.7.0, but false in 1.6.0. (realized? (rest (range))) is false in 1.7.0 but throws an exception in 1.6.0, fwiw.
On Thursday, July 30, 2015 at 11:16:03 AM UTC-5, Mars0i wrote: > > 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.