Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!nntp.club.cc.cmu.edu!goldenapple.srv.cs.cmu.edu!das-news2.harvard.edu!news.dfci.harvard.edu!camelot.ccs.neu.edu!news.mathworks.com!howland.erols.net!blackbush.xlink.net!ins.net!heeg.de!uucp
From: Hasko Heinecke <hasko@heeg.de>
Subject: Re: [Gemstone]: Difference between OOP and hash
Content-Type: text/plain; charset=us-ascii
Message-ID: <33391E9E.41C67EA6@heeg.de>
Sender: uucp@heeg.de
Content-Transfer-Encoding: 7bit
Organization: Georg Heeg - Object-Oriented Systems
References: <332F745F.76C2@iafrica.com>
Mime-Version: 1.0
Date: Wed, 26 Mar 1997 13:03:26 GMT
X-Mailer: Mozilla 3.01Gold (X11; I; SunOS 4.1.3 sun4c)
Lines: 29

Cornel Masson wrote:
>
> Can anyone tell me the *exact* difference between the Object Oriented
> Pointer (OOP) and the hash value in Gemstone (5.0) ?

Basically, it's got nothing to do with each other. The OOP is an
internal value for which the following is true:

An OOP uniquely identifies an object at any given point in time, and
every object's got an OOP.

This does NOT guarantee that the OOP is unique over time. Actually, I
can assure you it's not. ;-) As far as I know, even a given object's OOP
can change over time. But I'm not sure about that.

The hash value does not uniquely identify an object, but every object
has exactly one hash value. This _should_ not change over time, but it
can. Though normally, this is a bug. The exact semantics of #hash are
only defined by the implementation of the hash value.

Objects that are considered equal in terms of the #= message should have
the same hash value.

Hasko
-- 
+------------------------------------------------------+
| Hasko Heinecke, Georg Heeg - Object-Oriented Systems |
| mailto:hasko@heeg.de or try http://www.heeg.de/      |
+------------------------------------------------------+
