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

Reply via email to