Depending on what you are doing perhaps you could use (hash x). This might
not be very helpful if you need to update keys frequently.  However if
you're mostly doing lookups, then this would help quite a bit.
On Sat, Mar 7, 2009 at 3:44 PM, Mark Engelberg <mark.engelb...@gmail.com>wrote:

>
> Here's why it would be useful to have the option of hash maps that use
> identity...
>
> Let's say my keys are rather long lists.  Equality comparison will be
> slow.  But if I know that the keys are always the exact same long
> lists (perhaps because I traversed the key sequence to find a key with
> a certain property, and then am updating with that precise key as one
> example), then I can save lots of time by using an identity
> comparison.
>
> FWIW, the Scheme I usually use (PLT Scheme) supports both eq? and
> equal? based hash tables, and I have found both to be useful (although
> I prefer equal? based hash tables as the default).
>
> On Sat, Mar 7, 2009 at 7:57 AM, David Powell <djpow...@djpowell.net>
> wrote:
> > What objects are you trying to store? The ideal in the Clojure world,
> > is that most objects are immutable.
> >
> >  Immutable objects will implement value equality in .equals() ('=' in
> >  Clojure), and you shouldn't care about whether two objects are
> >  identical? because it won't affect anything.
>
> It's an efficiency issue.
>
> >
>

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