<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META content=text/html;charset=ISO-8859-15 http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18812"></HEAD>
<BODY bgColor=#ffffff text=#000000>
<DIV><FONT size=2 face=Arial>Hi,</FONT></DIV>
<DIV><FONT size=2 face=Arial>IMO, an object is something that preserves identity 
under the pov</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;of an objerver (the</FONT><FONT size=2 
face=Arial>&nbsp;self that reflectOn/know/named "the object");</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;for me, an object can</FONT><FONT size=2 
face=Arial>&nbsp;be open in state and behavior (change in</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;an unpredictable way)</FONT><FONT size=2 
face=Arial>&nbsp;and still be "that object".</FONT></DIV>
<DIV><FONT size=2 face=Arial>Returning to your question about identity, 
imho&nbsp;it is&nbsp;"something" in the</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;observer, that reflect on a context 
through&nbsp;time (here the</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;virtue of&nbsp;the object-subject relation). 
The object</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;preserve the identity in&nbsp;the context 
known to that</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;observer (under a pov)</FONT></DIV>
<DIV><FONT size=2 face=Arial>The observer name the object (acording to 
convenience/role in</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;the "understanding"/control of&nbsp;the 
context).</FONT></DIV>
<DIV><FONT size=2 face=Arial>Using a number for the name is primitive but can be 
understood</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;as</FONT><FONT size=2 face=Arial>&nbsp;a 
valid name.</FONT></DIV>
<DIV><FONT size=2 face=Arial>In short, the ID is a name that is defined by the 
observer when</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;it is detected a presistence in time of 
something taking a</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;role (a model of the observer is the place 
to&nbsp;implement it).</FONT></DIV>
<DIV><FONT size=2 face=Arial>No need to have an unique ID for each object, 
because the</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;universal pov it asumes is a 
gravitator(innocent) and hide</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;diversity of observers,</FONT><FONT size=2 
face=Arial>&nbsp;the same way as an object realty</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;is hidden if one assumes a</FONT><FONT size=2 
face=Arial>&nbsp;system is defined by one source code.</FONT></DIV>
<DIV><FONT size=2 face=Arial>cheers,</FONT></DIV>
<DIV><FONT size=2 face=Arial>Ale.</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<BLOCKQUOTE 
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> 
  <A title=trygver@ifi.uio.no href="mailto:trygver@ifi.uio.no">Trygve 
  Reenskaug</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A 
  title=squeak-dev@lists.squeakfoundation.org 
  href="mailto:squeak-dev@lists.squeakfoundation.org">The general-purpose Squeak 
  developers list</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Saturday, August 22, 2009 7:39 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [squeak-dev] Re: Newbie 
  Question (about OOPs, maybe) (sorry)</DIV>
  <DIV><BR></DIV>Hi All,<BR>IMO, every object has three essential properties: 
  Identity, State, and Behavior. In Smalltalk, State and Behavior are defined by 
  the object's flattened class hierarchy. The Object ID is not explicitly 
  available. I have am using 'asOop', hoping I&nbsp; get a unique value. But I 
  realize that I am skating on thin ice because its comment confuses me with 
  implementation details. It doesn't say what it means by 'pointer', so there is 
  still hope:<BR><BR><I>Object&gt;&gt;asOop<BR>&nbsp;&nbsp;&nbsp; "Primitive. 
  Answer a SmallInteger whose value is half of the receiver's 
  <BR>&nbsp;&nbsp;&nbsp; object pointer (interpreting object pointers as 16-bit 
  signed 
  quantities)..."</I><BR><BR><I>ProtoObject&gt;&gt;identityHash<BR>&nbsp;&nbsp;&nbsp; 
  "Answer a SmallInteger whose value is related to the receiver's 
  identity..."<BR></I>This is pretty vague, but the term 'Hash' indicates that 
  many objects can share the same value. So it is clearly cannot be used as the 
  objectID.<BR><BR>The Morph&gt;&gt;printOn: implementation is less than ideal 
  because it should apply to all objects, not only Morphs. Also, it should use 
  'asOop' rather than 'identityHash' to let us hope for uniqueness.<BR><BR>In 
  short:<BR>
  <UL>
    <LI>Smalltalk claims to be object oriented and I regard it as a serious flaw 
    that the object ID is not explicitly visible. 
    <LI>We probably need a 64-bit VM to represent it properly, e.g., using the 
    standardized definition of OID, but a value that is guaranteed to be unique 
    within the current set of objects would be acceptable.. 
    <LI>I regard it as a bug that Object&gt;&gt;printOn: does not present some 
    kind of object ID. </LI></UL>Cheers<BR>--Trygve<BR><BR><BR>On 2009.08.20 
  06:37, K. K. Subramaniam wrote: 
  <BLOCKQUOTE cite=mid:200908201007.18504.subbukk@gmail.com type="cite"><PRE wrap="">On Wednesday 19 Aug 2009 11:07:29 am Ronald Spengler wrote:
  </PRE>
    <BLOCKQUOTE type="cite"><PRE wrap="">Ah, so the GC in the VM swizzles the pointers out from under you.
<A class=moz-txt-link-freetext href="http://lists.squeakfoundation.org/pipermail/squeak-dev/1999-June/006170.htm">http://lists.squeakfoundation.org/pipermail/squeak-dev/1999-June/006170.htm</A>
l

    </PRE></BLOCKQUOTE><PRE wrap=""><!---->This is the classic dilemma between name as an identifier and name as a 
locator. The word "pointer" connotes the latter but gets used widely in the 
former sense in Smalltalk code. Object Identifier (oid) is unambiguous but 
doesn't sound half as cool as oop ;-).

Subbu



  </PRE></BLOCKQUOTE><BR>
  <DIV class=moz-signature>-- <BR>
  <META name=ProgId content=Word.Document>
  <META name=Generator content="Microsoft Word 10">
  <META name=Originator content="Microsoft Word 10"><LINK rel=File-List 
  href="TrygveSignature-filer/filelist.xml"><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:HyphenationZone>21</w:HyphenationZone>
  <w:PunctuationKerning/>
  <w:DrawingGridHorizontalSpacing>6 pt</w:DrawingGridHorizontalSpacing>
  <w:DrawingGridVerticalSpacing>6 pt</w:DrawingGridVerticalSpacing>
  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
  <w:DisplayVerticalDrawingGridEvery>3</w:DisplayVerticalDrawingGridEvery>
  <w:UseMarginsForDrawingGridOrigin/>
  <w:DoNotShadeFormData/>
  <w:Compatibility>
   <w:FootnoteLayoutLikeWW8/>
   <w:ShapeLayoutLikeWW8/>
   <w:AlignTablesRowByRow/>
   <w:ForgetLastTabAlignment/>
   <w:LayoutRawTableWidth/>
   <w:LayoutTableRowsApart/>
   <w:UseWord97LineBreakingRules/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->
  <STYLE>@page  {mso-page-border-surround-header: no; mso-page-border-surround-footer: no; }
@page Section1 {size: 612.0pt 792.0pt; margin: 70.85pt 70.85pt 70.85pt 70.85pt; mso-header-margin: 35.4pt; mso-footer-margin: 35.4pt; mso-paper-source: 0; }
P.MsoNormal {
        MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"
}
LI.MsoNormal {
        MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"
}
DIV.MsoNormal {
        MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; mso-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times New Roman"
}
SPAN.SpellE {
        mso-style-name: ""; mso-spl-e: yes
}
SPAN.GramE {
        mso-style-name: ""; mso-gram-e: yes
}
DIV.Section1 {
        page: Section1
}
</STYLE>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
        {mso-style-name:"Vanlig tabell";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout></xml><![endif]-->
  <DIV class=Section1>
  <P class=MsoNormal><SPAN class=SpellE><SPAN 
  style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" 
  lang=EN-GB>Trygve</SPAN></SPAN><SPAN 
  style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" lang=EN-GB> 
  Reenskaug<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>mailto: <SPAN 
  class=SpellE><A class=moz-txt-link-abbreviated 
  href="mailto:trygver@ifi.uio.no">trygver@ifi.uio.no</A></SPAN></SPAN><SPAN 
  style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"><O:P></O:P></SPAN></P>
  <P class=MsoNormal><SPAN class=SpellE><SPAN class=GramE><SPAN 
  style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" 
  lang=EN-GB>Morgedalsvn</SPAN></SPAN></SPAN><SPAN class=GramE><SPAN 
  style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" lang=EN-GB>.</SPAN></SPAN><SPAN 
  style="FONT-FAMILY: Arial; FONT-SIZE: 10pt" lang=EN-GB> 5A 
  <SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><A 
  class=moz-txt-link-freetext 
  href="http://heim.ifi.uio.no/~trygver">http://heim.ifi.uio.no/~trygver</A><O:P></O:P></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-FAMILY: Arial; FONT-SIZE: 10pt">N-0378 
  Oslo<SPAN>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  </SPAN>Tel: (+47) 22 49 57 27<O:P></O:P></SPAN></P>
  <P class=MsoNormal><SPAN class=SpellE><SPAN 
  style="FONT-FAMILY: Arial; FONT-SIZE: 10pt">Norway</SPAN></SPAN><SPAN 
  style="FONT-FAMILY: Arial; FONT-SIZE: 10pt"><O:P></O:P></SPAN></P></DIV></DIV>
  <P>
  <HR>

  <P></P><BR></BLOCKQUOTE></BODY></HTML>