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=0.6 required=5.0 tests=BAYES_20,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8c8bbb1419c8e81a X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Waiver question Date: 1997/05/02 Message-ID: #1/1 X-Deja-AN: 238903713 References: <5k52k2$7v0$1@news.nyu.edu> <5kb8ol$18o@bcrkh13.bnr.ca> <1997May2.063334.1@eisner> Organization: New York University Newsgroups: comp.lang.ada Date: 1997-05-02T00:00:00+00:00 List-Id: Larry said <> I don't think that's quite the right principle. Ada defaults to unsafe if for a great majority of implementations, being safe would be too costly or otherwise infeasible. I actually think that the decision in Ada 95 is just right, and reflects this principle. For unpacked records, on most architectures, it is reasonable to default to task safe -- yes it costs on the Alpha, but that is because the Alpha made a bad architectural choice -- and that choice has a penalty here. The judgment that the choice was a bad one seems to be borne out by the fact that Digital is "fixing" it. On the other hand, for packed records, on nearly all architectures, guaranteeing task safety by default would pretty much wipe out the effectiveness of packing. This was a major hole in Ada 83 (where independence was required by the language even for packed records, but luckily not tested for, and hence entirely ignored except by language lawyers). For an in-depth discussion of the independence issue, see Norman Schulman's Thesis on "Semantics of Shared Variables in Programming Languages" (or something like that -- from NYU -- I was his advisor). Little information tidbit: Norman Schulman's wife is the well known Canadian journalist who recently wrote the book "Red China Blues" on her experiences in China.