comp.lang.ada
 help / color / mirror / Atom feed
From: BBardin@ADA20.ISI.EDU
Subject: Re:  Predefined Operations
Date: Wed, 8-Oct-86 15:08:18 EDT	[thread overview]
Date: Wed Oct  8 15:08:18 1986
Message-ID: <8610101817.AA04645@ucbvax.Berkeley.EDU> (raw)


If I may, a few more words on the issue of predefined operations,
specifically, where are they declared and when are they found in
STANDARD as opposed to 'somewhere else':

First, as Doug Bryan pointed out, there is a problem with the
semantics of the term 'predefined'.  One needs to distinguish between
predefined types and predefined operations.  When referring to types,
'predefined' implies a declaration (emphasis on 'declaration') which
has been made ahead of time, i.e., declared previously.  When refering
to operations, 'predefined' referes to a set of operations that will
be (emphasis on 'will be') declared (implicitly) at some point.
Predefined types are types which have actually been declared;
'predefined operations' refers to an a priori definition of a set, not
a pre-declaration of the actual operations.

Now, the rule for where the declarations for the set of predefined
operations for a given type are found is straight forward:

  "The operations implicitly declared for a given type declaration
   occur after the type declaration..." (ARM 3.3.3(2))

(The term 'implicitly declared' is used instead of 'predefined'
because there may be operations other than the predefined set which
are also implicitly declared (specifically, user defined operations
derived from a parent type)).

Thus, the location of the declaration of a predefined operator is
always known; it is found immediately after the type declaration for
which the operator applies.  If this type is found in 'Standard'
(e.g., 'Integer', 'Boolean', 'Character', 'String'), then the
declarations for the predefined operations are found in standard.  If
the type is found in the predefined package 'Calendar', (e.g.,
'Time'), then the declarations for the predefined operations are found
in 'Calendar'.  If the type is found in the user defined package
'Foo', then that is where the declarations for the predefined
operations are found. 


John Prentice, 
Hughes
-------

             reply	other threads:[~1986-10-08 19:08 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1986-10-08 19:08 BBardin [this message]
  -- strict thread matches above, loose matches on Subject: below --
1986-10-09 18:11 predefined operations Doug Bryan
replies disabled

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