Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!iuvax!pur-ee!newton.physics.purdue.edu!hal From: hal@newton.physics.purdue.edu.UUCP Newsgroups: comp.lang.modula2 Subject: Re: Modula2 for Apollos and Ada,Modula2 question(s) Message-ID: <824@newton.physics.purdue.edu> Date: Tue, 29-Sep-87 08:22:17 EDT Article-I.D.: newton.824 Posted: Tue Sep 29 08:22:17 1987 Date-Received: Fri, 2-Oct-87 03:45:44 EDT References: <281@mv03.ecf.toronto.edu> <440@trwspf.TRW.COM> Reply-To: hal@newton.physics.purdue.edu.UUCP (Hal Chambers) Organization: Purdue Univ. Physics Dept., W. Lafayette, IN Lines: 26 Keywords: Modula2 Ada Summary: Opaque/Private Types In article <440@trwspf.TRW.COM> thomsen@trwspf.UUCP (Mark Thomsen) writes: >In article <281@mv03.ecf.toronto.edu> apollo@ecf.toronto.edu (Vince Pugliese) writes: >.... >.... The only features of Modula-2 that >are not in Ada in equivalent form are procedure variables, sets, and opaque >types (someone challenge this if you disagree -- I would be very interested >in updating my study of this).... > > Mark R. Thomsen The Ada terminology for opaque types is "private" types. Also private types are not restricted as to structure but can be any programmer defined type. This requires the complete definition of the type appear in the definition part of a package but this is for the use of the compiler only; the user cannot reference any components of the private type. (This opens a whole "can of worms" from the software engineering standpoint since changing the implementation may now require changing the definition part). The package programmer even has control of whether the default definition of equality "=" is defined on the type ("restricted private" types). Regarding the virtues of the two languages: I have access to a Modula-2 compiler but no access to an Ada compiler. Any possible theoretical advantage of a language I can't USE is rather irrelevant to me. Hal Chambers