From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,e8c8d1c63ffacf0d X-Google-Attributes: gid103376,public From: Robert A Duff Subject: Re: Constraint checking of actuals passed to Attributes Date: 2000/05/09 Message-ID: #1/1 X-Deja-AN: 621334828 Sender: bobduff@world.std.com (Robert A Duff) References: <391250A8.99D1585C@hotmail.com> <39171B69.2F983487@averstar.com> <8f93lm$1es$1@nnrp1.deja.com> <8f9snr$vbr$1@nnrp1.deja.com> Organization: The World Public Access UNIX, Brookline, MA Newsgroups: comp.lang.ada Date: 2000-05-09T00:00:00+00:00 List-Id: Robert Dewar writes: > In article , > Robert A Duff wrote: > > > Well, it's clear to me. ;-) > > > > Apparently, it's not clear to you, but I'm not sure what to do > > about that at this point. > > You could try expressing your intent. Well. First of all, it's not "my" intent. It's the intent of the language design team (of which I was but a part), and I think I understand that intent, but I don't entirely agree with it. (English suffers from not having a clear singular for "your".;-)) My job was to help write a coherent reference manual, and only secondarily to push for my own wishes as to the language rules. I suppose I could try expressing the intent by example: If you say: Uninit: Integer; -- Uninitialized variable! ... if Uninit < 10 then ... The condition must be either True or False, or it must raise an exception. It must not destroy other variable's values. Inside the if statement, Uninit must evaluate to a value less than 10. Obviously that's not a formal definition -- it's just an example of the intent. If I could give a formal definition of the intent, I would have done so in the RM -- I didn't then, because it's hard, and it's still hard today. I don't think it's impossible to formalize that intent. If you start asking me about floating-point NaN's, or holes in rep-speced enums, I'll start hemming and hawing. But for plain old integers and enums, I think I kown what was "intended". At least I can give lots of examples. ;-) > > I agree with you that the RM words do not precisely capture > > the intent. > > Seeing as you agree the RM words do not capture the intent, I > guess the only way to determine the intent is to ask the > intenders to divulge otherwise unknowable information. Correct. ;-) I'm not convinced that the RM always has to be read in such a formal way. Sometimes (most times) it should. But there are some rules of the form, "nudge, nudge, you know what I mean". - Bob