From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!cbosgd!ucbvax!ADA20.ISI.EDU!BBardin From: BBardin@ADA20.ISI.EDU Newsgroups: net.lang.ada Subject: Re: The equals function. Message-ID: <8609302109.AA18283@ucbvax.Berkeley.EDU> Date: Mon, 29-Sep-86 13:43:41 EDT Article-I.D.: ucbvax.8609302109.AA18283 Posted: Mon Sep 29 13:43:41 1986 Date-Received: Wed, 1-Oct-86 06:23:17 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet List-Id: In response to your question "Where are the predefined operations for array, access and record types defined if not in package 'Standard': I think the answer follows from the realization that the predefined types 'Integer', 'Characer' and 'Boolean' are quite different things than array, record and access types. The later are classes (or types) of types, while the former are instances of Ada type classes. i.e., The predefined type 'Integer' is just one instance of all possible integer types, while 'Boolean' and 'Character' are predefined enumeration types (enumeration being the class). ARM 3.3.3(2) states that the predefined operations for a type (not a type class) occur after the type declaration (an instance of the class). The predefined operations for 'Integer', 'Character' and 'Boolean' are found in 'Standard' because that is where the type declarations for these types are found. There are no predefined operations for 'array', 'record', and 'access' qua type classes, only for actual array, record and access types. Note that 'String' is a predefined array type, (just as 'Integer' is a predefined integer type) and the predefined operations for 'String' are found immediately following the declaration in package 'Standard'. Note also that the term 'integer' has been overloaded to refer to both a class of types (as in "... 'Short_Integer' is an integer type ...") and a specific instance of a type (as in "... the predefined type 'Integer' ..."). I hope this has been of some help, John Prentice, GMHEC -------