From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 5 Apr 93 20:43:45 GMT From: agate!howland.reston.ans.net!europa.eng.gtefsd.com!fs7.ece.cmu.edu!news.s ei.cmu.edu!jldh@ucbvax.Berkeley.EDU (Jorge Luis Diaz-Herrera) Subject: Re: Classes vs Tagged Types - Terminology- my two cents Message-ID: <1993Apr5.164345.931@sei.cmu.edu> List-Id: 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#" /'> <`\ ------------(---