comp.lang.ada
 help / color / mirror / Atom feed
From: dewarr@my-dejanews.com
Subject: Re: Boolean Representation
Date: 1998/09/27
Date: 1998-09-27T00:00:00+00:00	[thread overview]
Message-ID: <6uli4d$mb9$1@nnrp1.dejanews.com> (raw)
In-Reply-To: Ezw8Et.57H.0.-s@inmet.camb.inmet.com

In article <Ezw8Et.57H.0.-s@inmet.camb.inmet.com>,
  stt@houdini.camb.inmet.com (Tucker Taft) wrote:
> It is just this kind of thinking which led people to put "reconfirming"
> representation clauses on enumeration types in Ada 83.  What a waste
> of energy!  We added a rule in Ada 95 to save the paranoid from
> writing all those silly enumeration representation clauses.  I can
> see we should have gone one step further, specifying the representation
> for 1-bit boolean objects.  Groan.

No, I don't think such a rule is necessary, it is clearly the intention of
the RM that one bit boolean representations are like all other enumeration
representations in that the representations must be ordered.

Remember that when you read the RM, just because you manage to find a reading
that confirms something absurd does not mean that Ada allows absurd things.
After all, any possible reading of the Ada 83 RM that is done in this
uninformed style will tell you that virtually no subtypes are static, e.g.

   subtype x is integer range 1 .. 10;

is not a static subtype.

But this never actually bothered anyone, except the ARG who had to waste a
few minutes fixing the RM for the record.

I am not even sure that this particular issue (one bit boolean must have
rep 0/1) needs an AI. If it does, fine the ARG will issue one, but like many
many AI's this AI will have absolutely zero impact on any real user of Ada
unless they fail to understand the dynamics of the language definition.

After all, remember that there is nothing in the RM to stop an implementation
from using a loop with serial addition to implement multiplication, but even
the paranoid among Ada users do not eschew multiplication because of this.
You have to have some sense of the reasonable when using any language!

Even if you have a formal definition of a language, there can be errors in
the definition. If a typo in the formal definition ends up resulting in an
implication that "<" means ">" all this means is that there is an error in
the formal definition, not in the language being defined!

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum




  parent reply	other threads:[~1998-09-27  0:00 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-09-24  0:00 Boolean Representation matthew_snyder
1998-09-24  0:00 ` dennison
1998-09-24  0:00   ` Keith Thompson
1998-09-25  0:00     ` dennison
1998-09-25  0:00       ` Keith Thompson
1998-09-26  0:00         ` Tucker Taft
1998-09-26  0:00           ` Keith Thompson
1998-09-27  0:00             ` null pointer representation (was: Boolean Representation) Arthur Evans Jr
1998-09-27  0:00               ` Keith Thompson
1998-09-28  0:00               ` dewarr
1998-09-28  0:00                 ` Lieven Marchand
1998-09-28  0:00                 ` Keith Thompson
1998-09-28  0:00                   ` dewarr
1998-09-30  0:00                     ` Keith Thompson
1998-10-02  0:00                       ` Robert I. Eachus
1998-09-27  0:00             ` Boolean Representation dewarr
1998-09-27  0:00           ` dewarr [this message]
1998-09-24  0:00 ` dewarr
1998-09-24  0:00   ` Samuel T. Harris
1998-09-25  0:00     ` dewarr
1998-09-27  0:00       ` Samuel T. Harris
1998-09-28  0:00         ` dewar
1998-09-24  0:00   ` matthew_snyder
1998-09-24  0:00     ` dennison
1998-09-24  0:00     ` Tom Moran
1998-09-25  0:00       ` dewarr
1998-09-25  0:00         ` Tom Moran
1998-09-25  0:00     ` Robert I. Eachus
1998-09-25  0:00     ` dewarr
  -- strict thread matches above, loose matches on Subject: below --
1998-09-24  0:00 matthew_snyder
1998-09-25  0:00 ` Tucker Taft
1998-09-25  0:00   ` dewarr
1998-09-25  0:00   ` dewarr
replies disabled

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