comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: seperate keyword and seperate compilation with Gnat?
Date: 1996/07/12
Date: 1996-07-12T00:00:00+00:00	[thread overview]
Message-ID: <dewar.837148752@schonberg> (raw)
In-Reply-To: JSA.96Jul11154350@organon.com


"> your statement as normative text, then it is redundant, and redundancy,
> while useful in tutorial material is the enemy of precise definition.

Well here we just plain disagree.  In fact, this statement is
positively wog-boggling.

says Jon

he completely misses my point. His proposed additional statement adds
nothing to the RM. It is not some complex theorem that needs proving,
it is completely obvious. As I said earlier, it would perhaps stand
as a note, although for my taste even as a note it is useless baggage.

I am using redundant here not in some technical sense, but in an informal
sense. Adding the statement to the RM that you don't have to have subunits
around when you compile the parent unit is just unnceessary.

Actually it is worse than unnecessary, it is confusing. It implies that
perhaps other things that are not mentioned as having to be around might
have to be around. For example should we have a note saying that bodies
of transitively withed units do not have to be around? I would say yes,
if you add Jon's peculiar note.

This really seems an odd argument. Everyone knows and has always known
(who is familiar with Ada) that of course you don't have to have subunits
around to compile the parent unit -- it's the whole POINT of subunits.

For some reason, Jon got confused by what GNAT was doing, and was for a 
moment insecure on this point (as his wandering through the RM showed).
Well this can happen to all of us, and is occasionally useful in
deciding to put a note in, but I can certainly say that if this had
been submitted to the ARG, it would just have been dismiseed as an 
obvious confirmation.

There are many places one could worry about the RM being tricky to follow.
This is not one of them!

Jon, if all you are proposing is adding your one sentence, I think that
would be actively harmful. When you say unnecessary things, you raise
worries about parallel cases.

For example, suppose someone starts worrying whether it is valid to 
compute a + b as (4 * a + b - 3 * a), which could raise intermediate
overflow.

The answer is of course that of course this is invalid (to raise the
intermediate overflow because of using such a scheme).

According to Jon's thinking, as far as I can understand it, if someone
was confused on this point, he would suggest adding a statement like

"computation of the addition operator cannot involve unneceessary
intermediate overflow"

or somesuch

but that would be actively harmful, because it would worry people that
perhaps such overflow WAS allowed in other cases, e.g. subtraction.

That's why I storngly dislike the idea of a specific rule, or even a note,
that says that this particular kind of unit is not needed. We have a
general concept of semantic dependency, which is well defined in the RM,
and covers ALL such cases in a nice uniform way -- why single one out
just because someone got confused by what one implementation did?





  parent reply	other threads:[~1996-07-12  0:00 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-07-02  0:00 seperate keyword and seperate compilation with Gnat? David Morton
1996-07-02  0:00 ` Peter Hermann
1996-07-02  0:00   ` David Morton
1996-07-02  0:00 ` Samuel Mize
1996-07-03  0:00   ` *separate* keyword and *separate* " David Morton
1996-07-03  0:00     ` Robert Dewar
1996-07-03  0:00   ` seperate keyword and seperate " Robert Dewar
1996-07-17  0:00   ` Robert I. Eachus
1996-07-02  0:00 ` Robert Dewar
1996-07-18  0:00   ` Peter Hermann
1996-07-20  0:00     ` Robert Dewar
1996-07-03  0:00 ` Mike Card (x3022)
1996-07-03  0:00 ` Rob Kirkbride
1996-07-03  0:00   ` Robert Dewar
1996-07-08  0:00     ` John Herro
1996-07-08  0:00       ` Robert Dewar
1996-07-08  0:00       ` Robert Dewar
1996-07-10  0:00         ` John Herro
1996-07-10  0:00           ` Robert Dewar
1996-07-09  0:00       ` progers
1996-07-09  0:00       ` Robert A Duff
1996-07-09  0:00         ` Robert Dewar
1996-07-08  0:00     ` michael
1996-07-08  0:00       ` Robert Dewar
1996-07-11  0:00         ` Robert A Duff
1996-07-11  0:00           ` Robert Dewar
1996-07-12  0:00             ` David Morton
1996-07-12  0:00               ` Robert Dewar
1996-07-16  0:00                 ` Michael Paus
1996-07-08  0:00     ` Robert A Duff
1996-07-03  0:00   ` Robert A Duff
1996-07-04  0:00 ` Jon S Anthony
1996-07-03  0:00   ` Robert Dewar
1996-07-03  0:00   ` Robert Dewar
1996-07-04  0:00   ` Robert A Duff
1996-07-05  0:00 ` Jon S Anthony
1996-07-05  0:00 ` Jon S Anthony
1996-07-06  0:00   ` Robert Dewar
1996-07-09  0:00 ` Jon S Anthony
1996-07-09  0:00   ` Robert Dewar
1996-07-12  0:00   ` Jon S Anthony
1996-07-21  0:00     ` Robert A Duff
1996-07-09  0:00 ` Jon S Anthony
1996-07-11  0:00 ` Jon S Anthony
1996-07-11  0:00   ` Robert A Duff
1996-07-12  0:00   ` Robert Dewar [this message]
1996-07-14  0:00 ` Norman H. Cohen
1996-07-15  0:00   ` Robert Dewar
1996-07-15  0:00 ` Jon S Anthony
1996-07-15  0:00   ` Robert Dewar
1996-07-16  0:00 ` Jon S Anthony
replies disabled

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