comp.lang.ada
 help / color / mirror / Atom feed
* Re: Classes vs Tagged Types - Terminology- my two cents
@ 1993-04-05 20:43 agate!howland.reston.ans.net!europa.eng.gtefsd.com!fs7.ece.cmu.edu!news.s
  0 siblings, 0 replies; only message in thread
From: agate!howland.reston.ans.net!europa.eng.gtefsd.com!fs7.ece.cmu.edu!news.s @ 1993-04-05 20:43 UTC (permalink / raw)


In article <1993Apr5.155419.8598@evb.com>, jgg@evb.com (John Goodsen) writes:
|> In <1993Mar25.155650.16244@inmet.camb.inmet.com> 
|> stt@spock.camb.inmet.com (Tucker Taft) writes:
|> 
|> >
|> >In Ada 9X, it is only class-wide types (named "T'Class") that provide
|> >subclass matching.
|> >                      ^^^^^^^^^^^^^^^^^
|>                        Didn't you mean "tagged types" :-)
|> 
|> Can we take this as an indicator that you are about ready to
|> abondon the "tagged type" terminology and adopt the more
|> appropriate "class type" terminology?  It seems that even
|> members of the 9X project are shying away from using "tagged
|> type" these days, so why don't just finish the scenario and
|> adopt the "class type" syntax and terminology ...
|> 
|> fingers crossed...
|> 
|> 
|> -- 
|> John Goodsen                EVB Software Engineering, Inc.
|> jgg@evb.com                    - Ada & Object Oriented Training/Products
|> (301) 695-6960                 - Ada GUI & Graphics Tools and Training
|>                                - Software Reuse, Process & Environments


As has been argued already, specially by Tucker, "tagged" describes more
accurately which entity 'owns' this property, that is a type is tagged, or
private, or a range, etc., 

I would add that the term "class", in addition, carries with it the notion of
encapsulation.  Since in Ada (83 or 9X) types are not encapsulating
constructs, the term tagged is more appropriate. Unless you propose to elevate
the "class" to the level of a program unit, a totally different and big can of
warms, the use of "class" in the Ada type context would be confusing.
Elevating it to the program unit level will be redundant given the facilities
that already exist.  

Tucker, I have a question for you:

	Since the notion of "classes" and (static) polymorphism are already
	present in Ada (generic formal types and such) without the use of
	either the word class or tagged, have you considered following a
	similar model for dynamic polymorphism? I.e., can you get rid of the
	word "tagged" and make judicious use of the "box"? 
	E.g., instead of
			type T is tagged null record;
	use
			type T is <> null record; 

	This would match Ada9X's choice for specifying abstract
	subprograms and would complement the existing generic model. The use of
	T'CLASS would follow the same pattern for T'BASE, etc. 

	Just a thought, and I would be interested in you answer. I could see
	that we have to be careful when specifying generic formal 'tagged' (to
	bad the word abstract cannot be used here :>) types.


jld-h
--..--

---)------------
 . o        c ,
  "#v--  --v#"
  /'>      <`\
------------(---

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1993-04-05 20:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1993-04-05 20:43 Classes vs Tagged Types - Terminology- my two cents agate!howland.reston.ans.net!europa.eng.gtefsd.com!fs7.ece.cmu.edu!news.s

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox