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

Reply via email to