and in the case of String, this happens:
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/RT.java#L547
else if(o instanceof CharSequence)
return ((CharSequence) o).length();
=> (dorun (map println (supers (class "a string here"))))
java.lang.Object
java.lang.Comparable
java.io.Serializable
java.lang.*CharSequence*
nil
On Sun, Feb 17, 2013 at 6:08 PM, Herwig Hochleitner
<[email protected]>wrote:
> 2013/2/17 Geo <[email protected]>
>
>> So how come Clojure's get and count don't incur the reflection penalty?
>
>
> Clojure's collection functions do a typeof dispatch for JVM types. In a
> bootstrapped clojure, that would be solved with protocols.
>
> E.g.
> https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/RT.java#L527
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>
--
Please correct me if I'm wrong or incomplete,
even if you think I'll subconsciously hate it.
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.