comp.lang.ada
 help / color / mirror / Atom feed
From: stt@spock.camb.inmet.com (Tucker Taft)
Subject: Re: Beaujolais Effect -- what is it?
Date: Fri, 2 Dec 1994 17:04:10 GMT
Date: 1994-12-02T17:04:10+00:00	[thread overview]
Message-ID: <D070qy.2s8@inmet.camb.inmet.com> (raw)
In-Reply-To: 00987EBE.A6708E20.8@gtewd.mtv.gtegsc.com

In article <00987EBE.A6708E20.8@gtewd.mtv.gtegsc.com>,
Dave Papay M/S 7G32 x2791  <papayd@GTEWD.MTV.GTEGSC.COM> wrote:

>Tucker Taft <stt@DSD.CAMB.INMET.COM> 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



  reply	other threads:[~1994-12-02 17:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1994-11-24  8:56 Beaujolais Effect -- what is it? Dave Papay M/S 7G32 x2791
1994-12-02 17:04 ` Tucker Taft [this message]
1994-12-03  4:34   ` David Weller
  -- strict thread matches above, loose matches on Subject: below --
1994-11-21 13:35 Dave Papay M/S 7G32 x2791
1994-11-21 19:02 ` Norman H. Cohen
1994-11-22 13:36   ` Michael Hann
1994-11-23 14:18 ` Tucker Taft
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox