Konrad,
Okay, I was looking in the wrong place.  Which leads me to suggest the
following:

Create a local fork of Clojure, make a new branch, and hack on the
compiler.  Run the experiment, see what happens :)

Sean

On Feb 24, 9:15 am, Konrad Hinsen <konrad.hin...@fastmail.net> wrote:
> On 24.02.2010, at 14:43, Sean Devlin wrote:
>
> > How does the reader know the difference between .hashCode
> > and .reallyObsureMethod?  It would need to keep a whitelist of
> > everything in object, and know that these methods can be called
> > directly.  Maybe the reader should be upgraded to handle this?
>
> It's not the reader who deals with method lookup, it's the compiler. It 
> doesn't need any whitelist for that. If the compiler knows the (Java) type of 
> a data item, it can look up the available methods statically, i.e. at compile 
> time, and generate a direct method invocation is the lookup succeeds.
>
> This works in fact very well, it's the basis of using hints for avoiding 
> reflection. What I am surprised about is that in the absence of any hints, 
> the compiler assumes to know nothing about a value's type, whereas I believe 
> it could safely assume that it is a subclass of java.lang.Object, considering 
> that only primitive types are not subclasses of java.lang.Object, but 
> function arguments cannot be primitive types. But I am not enough of a JVM 
> expert to be sure.
>
> Konrad.

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