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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ed5557cae26e63ac X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-12-02 10:38:11 PST Newsgroups: comp.lang.ada Path: bga.com!news.sprintlink.net!howland.reston.ans.net!gatech!news-feed-1.peachnet.edu!paperboy.wellfleet.com!noc.near.net!inmet!spock!stt From: stt@spock.camb.inmet.com (Tucker Taft) Subject: Re: Beaujolais Effect -- what is it? Message-ID: Sender: news@inmet.camb.inmet.com Organization: Intermetrics, Inc. References: <00987EBE.A6708E20.8@gtewd.mtv.gtegsc.com> Date: Fri, 2 Dec 1994 17:04:10 GMT Date: 1994-12-02T17:04:10+00:00 List-Id: In article <00987EBE.A6708E20.8@gtewd.mtv.gtegsc.com>, Dave Papay M/S 7G32 x2791 wrote: >Tucker Taft writes: > >>We have eliminated all remnants of the Beaujolais Effect, but we did debate >>various instances of the "Ripple" effect during the language revision >>process (apologies to Gallo Ripple Wine enthusiasts ;-). > >Do these "Ripple" effects occur when you attempt to "Port" an Ada 83 program >to Ada 9X? Perhaps someone could "gin" up a summary of the various >instances ;-) No, the Ripple effects had very little to do with Ada 83/Ada 9X compatibility. In brief, the (undesirable) Ripple effect was related to whether the legality of a compilation unit could be affected by adding or removing an otherwise unneeded "with" clause on some compilation unit on which the unit depended, directly or indirectly. This issue came up at least twice. One when we were considering rules relating to use of attributes like 'Address. In Ada 83 as interpreted by the ARG, if a compilation unit contains a use of 'Address, then there must be a "with" of package System somewhere in the set of library unit specs "with"ed by the compilation unit (directly or indirectly). In Ada 9X, we have eliminated this rule, as it was for some compilers an unnecessary implementation burden, and didn't really provide any value to the user (if anything, it created some confusion). The rule now is that the use of an attibute that returns a value of some particular type makes the compilation unit semantically dependent on the library unit in which the type is declared (whether or not it is "with"ed). The second place the Ripple effect came up was when we were trying to provide automatic direct visibility to (primitive) operators. Ultimately we ended up with an explicit "use type" clause for making operators directly visible. For a while we considered various rules that would make all primitive operators directly visible; some of the rules considered created the undesirable "Ripple" effects; others created annoying incompatibilities; all were quite tricky to implement correctly and efficiently. >You know, this thread is becoming more and more like the one concerning the >phonetic spelling of "fish." GHOTI for sure. >David Papay | o | >papay@acm.org (preferred) | ^/--- | >dpapay@aol.com (alternate) | /> | -Tucker Taft stt@inmet.com Ada 9X Mapping/Revision Team