On Thu, Dec 16, 2010 at 12:06 PM, Ken Wesson <kwess...@gmail.com> wrote:
> The overflow check is the same whether you react to an overflow by > boxing the result or react to an overflow by throwing an exception! > It's not the same at all. If you box the result all further arithmetic computations slows down. You cannot preserve the primitive path. Throwing an exception means "Hey it looks like you want big math, clearly you don't want or need primitive perf, fix your code". So use auto-promoting variants, or add a big integer literal in the right place. BigInts are contagious. In this world very little work needs to be done to satisfy the real desires of people who want the fast path and those people who want big math. You're right that this is a breaking change. Some code will get broken. However there are other breaking changes in 1.3 that have far greater implications for real Clojure apps than this change - like dynamic binding. This affects a much large range of Clojure apps, libraries and tools. But Clojure is not Oracle. Rich Hickey has stated that he will continue to forge ahead. Things are not going to "slow down". That is something that the Clojure community embraces. Otherwise why would any of us be writing in a crazy functional Lisp on the JVM :) P.S. That was not a personal criticism as much as fact that can be applied to any discussion between respectful parties. David > -- 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