So far most of the action has concerned arithmetic ops (+, -, *, /).
Will these new semantics include the bit-shift operators? I vote yes.
My use cases for bit ops would benefit from primitive ops.

On a related note, my use cases call for silent overflow of bit shifts
(pseudo random number generators). Will there be a way to disable
overflow exceptions (either via a binding or through unchecked-*
functions)?

Thanks,
-Mark


On Jun 18, 8:33 pm, Rich Hickey <richhic...@gmail.com> wrote:
> 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_Pr...
>
> Code:
>
> http://github.com/richhickey/clojure/commit/310534b8e7e7f28c75bb122b4...
>
> You can get the older arbitrary-precision default with this commit:
>
> http://github.com/richhickey/clojure/commit/7652f7e935684d3c7851fbcad...
>
> 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