From owner-sc22wg5@dkuug.dk  Tue Jul 15 19:30:57 2003
Received: (from majordom@localhost)
	by dkuug.dk (8.12.8p1/8.9.2) id h6FHUvlq096646
	for sc22wg5-domo; Tue, 15 Jul 2003 19:30:57 +0200 (CEST)
	(envelope-from owner-sc22wg5@dkuug.dk)
X-Authentication-Warning: ptah.dkuug.dk: majordom set sender to owner-sc22wg5@dkuug.dk using -f
Received: from math.jpl.nasa.gov (math.jpl.nasa.gov [137.79.7.57])
	by dkuug.dk (8.12.8p1/8.9.2) with ESMTP id h6FHUnEc096641
	for <sc22wg5@dkuug.dk>; Tue, 15 Jul 2003 19:30:53 +0200 (CEST)
	(envelope-from vsnyder@math.jpl.nasa.gov)
Received: from math.jpl.nasa.gov (localhost.localdomain [127.0.0.1])
	by math.jpl.nasa.gov (8.12.8/8.12.8) with ESMTP id h6FHUhJh014408
	for <sc22wg5@dkuug.dk>; Tue, 15 Jul 2003 10:30:43 -0700
Received: from math.jpl.nasa.gov (vsnyder@localhost)
	by math.jpl.nasa.gov (8.12.8/8.12.8/Submit) with ESMTP id h6FHUhRT014404
	for <sc22wg5@dkuug.dk>; Tue, 15 Jul 2003 10:30:43 -0700
Message-Id: <200307151730.h6FHUhRT014404@math.jpl.nasa.gov>
X-Mailer: exmh version 2.4 06/23/2000 with nmh-1.0.4
Reply-to: Van.Snyder@jpl.nasa.gov
From: Van.Snyder@jpl.nasa.gov
To: sc22wg5@dkuug.dk
Subject: Re: Dummy arg names and redeclaration
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Tue, 15 Jul 2003 10:30:43 -0700
Sender: owner-sc22wg5@dkuug.dk
Precedence: bulk

Concerning the relation between a separate interface body and its
corresponding separate procedure body, Malcolm wrote:

> This is a redeclaration, which we do not even *ALLOW* anywhere else.

It may make us more comfortable to think about the interface body as *THE*
declaration, and the procedure body as merely the definition.  Admittedly,
the declaration and definition have the same syntax, but aside from that,
there are numerous other circumstances where we "declare" the same entity
repeatedly:

  integer :: Arg
  intent(in) :: ARG
  optional :: Arg

So, which one of these is "the" declaration of Arg?  None of them.  Each one
declares a different attribute of Arg.

Sure, we don't allow declaring any *attribute* more than once, but we can look
at the separate interface body and its corresponding separate procedure body
in the same way.  The interface body declares the procedure characteristics,
for purposes of reference.  The procedure body declares the procedure
characteristics, for purpose of definition of the procedure.  Of course,
things would fall apart if we were not to require these two sets of
characteristics to be identical, but if you hold your mouth just right, you
can probably convince yourself that it's not the same thing as redeclaration.

-- 
Van Snyder                    |  What fraction of Americans believe 
Van.Snyder@jpl.nasa.gov       |  Wrestling is real and NASA is fake?
Any alleged opinions are my own and have not been approved or disapproved
by JPL, CalTech, NASA, Sean O'Keefe, George Bush, the Pope, or anybody else.


