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!news.psc.edu!hudson.lm.com!nntp1.jpl.nasa.gov!usenet.eel.ufl.edu!tank.news.pipex.net!pipex!news.mathworks.com!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: Thu, 16 Nov 1995 00:11:28 GMT
Message-ID: <1995Nov16.001128.14965@schbbs.mot.com>
References: <30A8DDD2.1BBC@cs.brown.edu>
Sender: news@schbbs.mot.com (SCHBBS News Account)
Nntp-Posting-Host: 129.188.128.126
Lines: 57
Xref: glinda.oz.cs.cmu.edu comp.object:40754 comp.lang.smalltalk:30681 comp.lang.c++:160329 comp.lang.misc:23865

In article <30A8DDD2.1BBC@cs.brown.edu> Seth Tager <sdt@cs.brown.edu> writes:
> David L. Shang wrote:
> > 
> > Specific Definition in Programming Languages:
> > 
> > TYPE: an abstraction mechanism that specifies a group of objects
> > (or values) distinguishable as a variety in terms of:
> >  (1) their structure -- how they are constructed with a set of
> >      their components (the structure of a primitive object (or value)
> >      is built-in);
> >  (2) their functionality -- how they contribute to the development
> >      of a larger whole or the rest of the system in terms of a set
> >      of operations (methods).
> > 
> > So, why a SmallTalk class is not a type?
> 
> Once again, you can make up any definition you want for "type", but
> if it is different from the definition that most people use when
> they're talking about programming languages then your argument is
> at best moot, and more likely just confusing. 
> 

I did not make up any thing. This is the common and tranditional
definition for a type in programming languages. Though the word I
chose may slightly different, you can find equivalent or similar ones
in a traditional text book where type or abstract type is defined.

> IMHO, there is a use for defining a type as something
> that the compiler can use in analyzing source code to report syntactic
> and semantic errors, and to make other compiler specific decisions
> based on the "type" of a variable. 
> 

The definition of type itself has nothing to do with a compiler! What
you stated here is the usage of a type by a compiler. We should
define a thing by saying what it is, not by saying how it is used.
The different usage may have imapct on a definition, but it
only contributes to the detailed distinction, not the thing in its
nature.

> There is also a use for the more philosophical definition of type that
> includes the ideas that distinguish one object from another (i.e. 
> responds-to-messages, contains-variables, etc), either at compile time
> or at run time! Arguing about whether "type" means the first thing or
> the second (or something inbetween) is silly.
> 

Are you arguing? Or are you encouraging people to argue by your
following solicitation? 

> Does anyone have a clean set of terms that distinguish between all of
> the different shades of meaning of the word "type?" Help.
> 

If people don't care to be called silly, please help.

David Shang
