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,3ccb707f4c91a5f2 X-Google-Attributes: gid103376,public From: jsa@alexandria (Jon S Anthony) Subject: Re: Unbounded strings (Was: Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation)) Date: 1996/11/20 Message-ID: #1/1 X-Deja-AN: 197556708 sender: news@organon.com (news) references: <325BC3B3.41C6@hso.link.com> organization: Organon Motives, Inc. newsgroups: comp.lang.ada Date: 1996-11-20T00:00:00+00:00 List-Id: In article bobduff@world.std.com (Robert A Duff) writes: > In article , Robert Dewar wrote: > >"behave as if they are really (varying length) strings" > >is meaningless, either we ignore the parenthetical remark, in which case > >it is nonsense, since these do not behave like Ada strings, or we include > >it, in which case we are talking about something not in the language and > >so are defining varying length string semantics in terms of varying > >length string semantics which is nonsense. > > Whenever the RM uses a term that it doesn't define, which is quite > often, you have to take the most reasonable meaning you know from plain > English, or from general computer jargon. Perhaps I interpret this Criminey! You better watch out Bob, you're beginning to sound just like me in this sort of context! ;^) There are indeed many of these and the worst of it is, they don't seem all that "fundamental" or "primitive" or "intuitive" like "reasonable" undefined terms. As you say - you have to guess the best you can... > And you still haven't answered my main objection to your reading -- if > you read it that way, then why isn't practically everything in Annex A > erroneous? And lots of other stuff. E.g: > > X, Y: Calendar.Time := Clock; > > X := Y; -- Erroneous? > > (No tasks here.) How do we know that the implementer has not evilly > made the full type for Time controlled, with an Adjust routine that does > something erroneous? Or raises GNAT.Evil_Exceptions.Whatever_Error? Or > writes the value 17 into all integer variables in the program? We know > that, because the correct way to interpret the RM is that if it doesn't > say any of those bad things happen, then they don't. The same way we > know that 1+1 of Integers doesn't have side effects. Hmmmm. Really. I think Robert has been hoisted on his own petard, :-) /Jon -- Jon Anthony Organon Motives, Inc. Belmont, MA 02178 617.484.3383 jsa@organon.com