Newsgroups: comp.object,comp.lang.smalltalk,comp.lang.c++,comp.lang.misc
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!purdue!lerc.nasa.gov!magnus.acs.ohio-state.edu!csn!ub!news.kei.com!newsfeed.internetmci.com!swrinde!sdd.hp.com!hplabs!hplextra!hplb!cdollin!kers
From: kers@hplb.hpl.hp.com (Chris Dollin)
Subject: Re: Types, types: static vs. dynamic -- classification
Sender: news@hplb.hpl.hp.com (Usenet News Administrator)
Message-ID: <KERS.95Nov22080216@cdollin.hpl.hp.com>
In-Reply-To: rtor@ansa.co.uk's message of 21 Nov 1995 10:40:09 GMT
Date: Wed, 22 Nov 1995 15:02:16 GMT
References: <vwjviowz091.fsf@osfb.aber.ac.uk> <vwju44dzlwt.fsf@osfb.aber.ac.uk>
	<KERS.95Nov19164511@cdollin.hpl.hp.com> <48saa9$h6u@plato.ansa.co.uk>
Nntp-Posting-Host: cdollin.hpl.hp.com
Organization: Hewlett-Packard Laboratories, Bristol, UK.
Lines: 57
Xref: glinda.oz.cs.cmu.edu comp.object:41102 comp.lang.smalltalk:30925 comp.lang.c++:161282 comp.lang.misc:23940

In article <48saa9$h6u@plato.ansa.co.uk> rtor@ansa.co.uk (Owen Rees) writes:

   Chris Dollin (kers@hplb.hpl.hp.com) wrote:

   : I didn't (and don't) claim that ``type'' and ``class'' mean the same thing
   : in Smalltalk;

   Sorry, I was not intending to misrepresent your position. I forgot to
   say that I liked your definition of 'type', and that given that
   definition of 'type', it is clear that 'class' and 'type' are
   different.

Yep, that's as I intended.

   :             my description of type (which you deleted) said that what was
   : important was the relationships between the operations and the (types of)
   : the values. This notion is not the same as that of the Smalltalk class,
   : because objects of vastly different classes can still satisfy the same
   : type description, and further (an instance of) a subclass need not satisfy
   : the same interface as (an instant of) the supertype.

   I agree with all of that, anyone wanting the full details can retrieve
   <URL:ftp://ftp.ansa.co.uk/phase3-doc-root/ar/APM.1001.01.ps.gz> "The
   ANSA Computational Model", especially if you are interested in a type
   system appropriate for objects in distributed systems.

Oddly enough, that's *exactly* one of the things I'm interested in. Thanks 
for the url.

   : And it is true that in Smalltalk the behaviour of objects can change over 
   : time,
   : and that this means (using my meaning for ``type'') that an object can 
   : change its type over time. But this strikes me more as a property of an
   : interactive development system rather than anything fundamental about the
   : language.

   Very careful phrasing required here: my interpretation of this is that
   an object can be of different types at different times, the types
   themselves do not change - if that was the intended meaning then I
   agree with that point.

Sorry, yes, I phrased that badly -- I did indeed mean than an object can
have different types at different times.

   I see this as a fundamental property of Smalltalk, it is part of the
   protocol for classes, at least according to this book by Goldberg and
   Robson I have on my desk at the moment. The programming interface is
   described in the following chapter.

I mean that rather being a property peculiar to Smalltalk, it's shared by
*any* language with an interactive development system, because you can change
the way things behave, eg by editing functions, modifying structures, or
unbinding identifiers. The Lisps, Pop11, and Forth come to mind immediately.
--

Regards,    | ``"I can't suit myself," said Weinbaum, a little petulantly.
Kers.       | "I work for the Government".'' - Blish, "The Quincunx of Time".
