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: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Unbounded strings (Was: Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation)) Date: 1996/11/18 Message-ID: #1/1 X-Deja-AN: 197329970 references: <325BC3B3.41C6@hso.link.com> organization: New York University newsgroups: comp.lang.ada Date: 1996-11-18T00:00:00+00:00 List-Id: Bob Duff says "I'd say A.4.5(1) proves it -- these things "represent strings", not strange pointers into evilly shared variables. If you want to use strange pointers in the implementation, then you have to make it behave as if they are really (varying length) strings. I don't see any statement in the RM that says these things are erroneous -- therefore they aren't. (You *have* to read the RM that way -- otherwise *everything* is erroneous, because we rarely say "so-and-so is not erroneous".)" Nope, I don't buy that for a moment. By that reasoning, A.3 3 The implementation shall ensure that each language defined subprogram is reentrant in the sense that concurrent calls on the same subprogram perform as specified, so long as all parameters that could be passed by reference denote nonoverlapping objects. would be entirely redundant, since according to you, it is implicit in the specs of the routines. In fact it is perfectly possible to do things with the defined procedures that definitely ARE erroneous, for example, surely you dont think that two tasks that modify the same string at the same time must work correctly. No of course not, that we would expect to be erroneousw. "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. dp