comp.lang.ada
 help / color / mirror / Atom feed
From: kst@thomsoft.com (Keith Thompson)
Subject: Re: 32 and 64 bit floats
Date: 1996/01/08
Date: 1996-01-08T00:00:00+00:00	[thread overview]
Message-ID: <DKvwGB.KoM@thomsoft.com> (raw)
In-Reply-To: dewar.820957348@schonberg

In <dewar.820957348@schonberg> dewar@cs.nyu.edu (Robert Dewar) writes:
> Keith says
> 
> "I think we both agree that the sentence is poorly worded.  In any case,
> it's obsolete.  AI-00459, which was approved by the ARG and WG9 and
> applies to Ada 83 implementations, states that predefined integer types
> may have the same range, and RM95-3.5.4(25) says, "Different predefined
> integer types are allowed to have the same base range.""
> 
> Oops, no! AI's do not make anything in the RM obsolete, they merely
> point you to the right interpretation, so the existence of AI-00459 just
> goes to prove that my interpretatoin was right, and yours wrong (it's
> sort of like papal councils telling you after the fact whether you have
> sinned :-)

Well, that's the theory behind the AI's, but in practice some of them
do contradict (and effectively make obsolete) clear wording in the
reference manual.  I won't try to extend the papal council analogy.  8-)}

For example, the Ada 83 RM clearly states that integer division by zero
raises Numeric_Error (assuming the check is not suppressed), yet AI-00387
allows and encourages implementations to raise Constraint_Error instead.
Similarly for Ada 95, AI-00101 (not yet formally approved) says that
Ada.Task_Identification.Abort_Task's parameter is of mode "in", even
though the RM clearly shows its mode as "in out".

Furthermore, the wording of AI-00459 (the one that allows different
predefined integer types to have the same range) does not attempt to claim
that the original wording in the Ada 83 RM allows this interpretation.
It merely justifies the change on the basis that the restriction serves
no useful purpose.

I'm not saying that this is bad, merely that not all AIs are really just
"interpretations" of the original text, or even of the original intent.

I once heard that either Algol or Algol 68 had a similar mechanism for
issuing official interpretations of the language standard.  The committee
once issued an "interpretation" stating that, in a particular sentence
in the reference manual, the word "is" shall be interpreted to mean
"is not".  (I don't have a source for this story, and I can't guarantee
its accuracy.)

In the unlikely event that anyone else is interested in this, the text
of AI-00459 is at
<ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/83com/ai-00459-bi.wa>.

-- 
Keith Thompson (The_Other_Keith)  kst@thomsoft.com (kst@alsys.com still works)
TeleSoft^H^H^H^H^H^H^H^H Alsys^H^H^H^H^H Thomson Software Products
10251 Vista Sorrento Parkway, Suite 300, San Diego, CA, USA, 92121-2718
Et tu, Barada Nikto?




       reply	other threads:[~1996-01-08  0:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <DKCBsL.6yq@irvine.com>
     [not found] ` <dewar.820254515@schonberg>
     [not found]   ` <30e6cca7.34638660@news.onramp.net>
     [not found]     ` <DKHEsJ.68M@thomsoft.com>
     [not found]       ` <dewar.820553584@schonberg>
     [not found]         ` <DKrB37.E1E@thomsoft.com>
     [not found]           ` <dewar.820957348@schonberg>
1996-01-08  0:00             ` Keith Thompson [this message]
1996-01-08  0:00               ` 32 and 64 bit floats Robert Dewar
replies disabled

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