On 21 June 2010 16:52, Rich Hickey <richhic...@gmail.com> wrote:
> I've added the speculative analysis required to detect when recur arguments
> fail to match the type of primitive loop locals, and recompile the loop with
> those loop args boxed. When *warn-on-reflection* is true it will issue a
> report that this is happening and why.

Ah, this is absolutely fantastic!

I find my general stance on the issue matches Mark's summary pretty
much exactly and to be totally blissfully happy, I'd prefer the primes
to be moved over to the non-promoting ops (which I realise would cause
autoboxing to appear wherever any of the non-primed ops appear -- but
now there's the warning and thus no inexplicable slowdowns). In fact,
my understanding is that any locals participating in arithmetic which
directly or indirectly (i.e. because of interaction with other locals)
involves an unhinted parameter to the function the local is declared
in will now be autoboxed; does using the non-promoting operators by
default have any intrinsic benefits in this situation?

Note that after this commit I think I'm guaranteed to be extremely
happy about Clojure's new arithmetic. Thanks!

Sincerely,
Michał

-- 
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