Newsgroups: comp.object,comp.lang.smalltalk,comp.lang.c++,comp.lang.misc
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!nntp.sei.cmu.edu!cis.ohio-state.edu!math.ohio-state.edu!howland.reston.ans.net!plug.news.pipex.net!pipex!tube.news.pipex.net!pipex!tank.news.pipex.net!pipex!usenet.eel.ufl.edu!newsfeed.internetmci.com!in1.uu.net!mdisea!mothost!schbbs!news
From: shang@corp.mot.com (David L. Shang)
Subject: Re: Types, types: static vs. dynamic -- classification
Reply-To: shang@corp.mot.com
Organization: MOTOROLA 
Date: Tue, 28 Nov 1995 14:55:08 GMT
Message-ID: <1995Nov28.145508.18848@schbbs.mot.com>
References: <yf3pweepywr.fsf@sabi.demon.co.uk>
Sender: news@schbbs.mot.com (SCHBBS News Account)
Nntp-Posting-Host: 129.188.128.126
Lines: 36
Xref: glinda.oz.cs.cmu.edu comp.object:41519 comp.lang.smalltalk:31152 comp.lang.c++:162188 comp.lang.misc:24007

In article <yf3pweepywr.fsf@sabi.demon.co.uk> piercarl@sabi.demon.co.uk  
(Piercarlo Grandi) writes:
> >>> On Mon, 27 Nov 1995 17:02:52 GMT, shang@corp.mot.com (David
> >>> L. Shang) said:
> 
> David> How does an object change its type dynamically? Shouldn't we
> David> consider the object a different object when its type is changed?
> 
> It is actually an interesting question, and one whose answer is not so
> obvious, also because metamorphism or dynamic retyping is not well known
> ot studied.
> 
> My guess is that if we allow an object to change type in-place, in the
> brutal sense that we modify its class object in-place (or somewhat
> equivalently we associate it with a different class object), then the
> object has not changed (and should retain is unique id if any and not
> null or void under state or federal law), even if its _denotation_ has
> (probably) changed.
> 

When a class (type) is modified, it is still this class (type). We
should not consider it is a different class (type). When my age
increases by one, I'm still myself. When I leaned a new skill,
I'm still myself, not someone else.

When I say an object changes its type, I mean:

	the object X's type is changed from type A to type B
	where A and B are different types.

not:

	the object X's type (A) is modified, i.e. A's states
	are changed but A is still A itself.

David Shang
