Issue 29 created with patch attached: http://code.google.com/p/clojure/issues/detail?id=29
On Dec 14 2008, 1:29 am, Olov Lassus <olov.las...@gmail.com> wrote: > Hi, > Here's another patch from me: > > The clojure.lang.Range type is implemented with integer type start and > end indices. The core.clj range function should detect when an index > doesn't fit inside an int and create an increasing sequence using > iterate instead. The current implementation detects too large > positive, but not too large negative ranges. The overflow occurs > silently without throwing an exception. > > Before: > user=> (take 1 (range -2147483649 0)) > (2147483647) > > After applying the patch (created against trunk r1159): > user=> (take 1 (range -2147483649 0)) > (-2147483649) > > I also made the range function slightly less conservative < vs <= > wise. This shouldn't affect correctness but (range 0 2147483647) will > now return a Range (after patch) instead of a LazyCons (before). > > /Olov Lassus > > support_large_negative_range.patch > < 1KViewDownload > > --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---