Newsgroups: comp.object,comp.lang.smalltalk,comp.lang.c++,comp.lang.misc
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!newsstand.cit.cornell.edu!newsfeed.cit.cornell.edu!news.tc.cornell.edu!newsserver.sdsc.edu!news.cerf.net!mvb.saic.com!news.mathworks.com!newsfeed.internetmci.com!in2.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: Mon, 27 Nov 1995 16:46:23 GMT
Message-ID: <1995Nov27.164623.9671@schbbs.mot.com>
References: <KERS.95Nov22081302@cdollin.hpl.hp.com>
Sender: news@schbbs.mot.com (SCHBBS News Account)
Nntp-Posting-Host: 129.188.128.126
Lines: 35
Xref: glinda.oz.cs.cmu.edu comp.object:41436 comp.lang.smalltalk:31104 comp.lang.c++:162005 comp.lang.misc:23993

In article <KERS.95Nov22081302@cdollin.hpl.hp.com> kers@hplb.hpl.hp.com (Chris  
Dollin) writes:
> ... I thought we weren't discussing
> particular types, but the very *notion* of type. Am I confused?
> 

Absolutely.

We should not use definitions in a particular language for the
notion of a type in general.

Viewing classes as implementations of a type is specific to OMG,
Sather, or some "typed" SmallTalk. Some other languages uses an
opposite notion where classes are anstract and types are concrete.

As a defintion in general, I do not see the necessity to make
a distinction between a type and a class.

If we want to distinguish an abstract type from a concrete type,
just say abstract type. Do not give it a different name, e.g.
class.

For simplicity, a language should use a consistant term: either
type or class, not both.

jsutherland@BIX.com (Jeff Sutherland) writes:
   Type:
   A predicate that describes the common properties and behavior for a
   collection of objects.

Predicate is too specific to make this a general definition.
you can use mechanism, and predicate is one kind of many mechanisms.

David Shang

