Turnabout is fair play, so I've produced a version that swaps the defaults, still in the 'equal' branch:
Docs: https://www.assembla.com/wiki/show/b4-TTcvBSr3RAZeJe5aVNr/Enhanced_Primitive_Support Code: http://github.com/richhickey/clojure/commit/310534b8e7e7f28c75bb122b4bf1bee320cdae67 You can get the older arbitrary-precision default with this commit: http://github.com/richhickey/clojure/commit/7652f7e935684d3c7851fbcad8ddce97e510a5a6 I've also temporarily enabled a diagnostic (in both) that tells you when you have a mismatch between a loop initializer and its recur form. It goes off over a hundred times in Clojure itself, when using the arbitrary precision default. In each case, the recur value is needlessly being boxed, every iteration of a loop, for loops that will never be bigints; indexes, counters etc. I expect this will be very typical of most code. But removing that useless overhead would be a lot of tedious work. With the defaults swapped, only 2 warnings. Pay for what you use ... Rich On Jun 18, 4:52 pm, Rich Hickey <richhic...@gmail.com> wrote: > I've revised and enhanced the strategy, based upon the feedback here. > I think it is a nice compromise. > > Docs (see update section at the top) > > https://www.assembla.com/wiki/show/b4-TTcvBSr3RAZeJe5aVNr/Enhanced_Pr... > > Code: > > http://github.com/richhickey/clojure/commit/c79d28775e06b196ae1426f6c... > > Thanks to all for the feedback, keep it coming! > > Rich > > On Jun 17, 2010, at 4:13 PM, Rich Hickey wrote: > > > > > I've been doing some work to enhance the performance, and unify the > > semantics, of primitives, in three branches. I've started to document > > this work here: > > >https://www.assembla.com/wiki/show/clojure/Enhanced_Primitive_Support > > > Feedback welcome, > > > Rich -- 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