comp.lang.ada
 help / color / mirror / Atom feed
* Re: "Beaujolais Effect" -- what is it?
  1994-11-17 14:53 "Beaujolais Effect" -- what is it? John Volan
@ 1994-11-17 13:10 ` Robert I. Eachus
  1994-11-19 17:04   ` Jean D. Ichbiah
  1994-11-18 21:37 ` Tucker Taft
  1 sibling, 1 reply; 5+ messages in thread
From: Robert I. Eachus @ 1994-11-17 13:10 UTC (permalink / raw)



    I'll take a shot.  Jean Ichbiah offered a bottle of Beaujolais to
the first person to find an Ada 83 program where adding a use clause
chnged the meaning of the program without changing the legality.

    I think Bob Duff finally managed to contrive an example, but in
practice Beaujolais effects are not a problem in Ada 83.  Tucker and
company have devoted a lot of attention to minimizing them in Ada 9X
as well.

     There are many Beaujolais type effects in both Ada 83 and Ada 9X
that can occur if a with clause is added, but with clauses should be
expected to change things. For example, a procedure named in a with
clause will hide a procedure with the same profile made (potentially)
visible by a use clause.


					Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...
--

					Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...



^ permalink raw reply	[flat|nested] 5+ messages in thread

* "Beaujolais Effect" -- what is it?
@ 1994-11-17 14:53 John Volan
  1994-11-17 13:10 ` Robert I. Eachus
  1994-11-18 21:37 ` Tucker Taft
  0 siblings, 2 replies; 5+ messages in thread
From: John Volan @ 1994-11-17 14:53 UTC (permalink / raw)


In the AARM9X (5.0), I've noticed occasional references (e.g.
8.6(22.a)) to something called the "Beaujolais Effect."  I take it
that this effect is detrimental, and language designers should try to
avoid it.  However, I haven't been able to find a definition for it
anywhere, and it isn't referenced in the AARM9X index. (I suppose
that's reasonable, since it's only mentioned in annotations, not the
main text of he RM).  Can anyone supply a definition for this, and/or
give some pointers to relevant literature about this (especially
ftp-able stuff)?  Thanks in advance.

				John Volan

--------------------------------------------------------------------------------
--  Me : Person := (Name                => "John Volan",
--                  Company             => "Raytheon Missile Systems Division",
--                  E_Mail_Address      => "jgv@swl.msd.ray.com",
--                  Affiliation         => "Enthusiastic member of Team Ada!",
--                  Humorous_Disclaimer => "These opinions are undefined " &
--                                         "by my employer and therefore " &
--                                         "any use of them would be "     &
--                                         "totally erroneous.");
--------------------------------------------------------------------------------



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: "Beaujolais Effect" -- what is it?
  1994-11-17 14:53 "Beaujolais Effect" -- what is it? John Volan
  1994-11-17 13:10 ` Robert I. Eachus
@ 1994-11-18 21:37 ` Tucker Taft
  1 sibling, 0 replies; 5+ messages in thread
From: Tucker Taft @ 1994-11-18 21:37 UTC (permalink / raw)


In article <CzF2oo.5wH@swlvx2.msd.ray.com>,
John Volan <jgv@swl.msd.ray.com> wrote:

>In the AARM9X (5.0), I've noticed occasional references (e.g.
>8.6(22.a)) to something called the "Beaujolais Effect."  I take it
>that this effect is detrimental, and language designers should try to
>avoid it.  However, I haven't been able to find a definition for it
>anywhere, and it isn't referenced in the AARM9X index. (I suppose
>that's reasonable, since it's only mentioned in annotations, not the
>main text of he RM).  Can anyone supply a definition for this, and/or
>give some pointers to relevant literature about this (especially
>ftp-able stuff)?  Thanks in advance.

The term "Beaujolais Effect" comes from a prize (a bottle of Beaujolais)
offered by Jean Ichbiah during the original Ada design process to anyone
who could find a situation where adding or removing a single
"use" clause could change a program from one legal interpretation
to a different legal interpretation.  (Or equivalently, adding
or removing a single declaration from a "use"d package.)

At least one bottle was awarded, and if the offer was still open,
a few more might have been awarded during the Ada 9X process.
However, thanks to some very nice analysis by the Ada 9X Language
Precision Team (based at Odyssey Research Associates) we were
able to identify the remaining cases of this effect in Ada 83, 
and remove them as part of the 9X process.

The existing cases in Ada 83 had to do with implicit conversion
of expressions of a universal type to a non-universal type.
The rules in Ada 9X are subtly different, making any case
that used to result in a Beaujolais effect in Ada 83, illegal
(due to ambiguity) in Ada 9X.

The Beaujolais effect is considered "harmful" because it is
expected that during maintenance, declarations may be added
or removed from packages without being able to do an exhaustive
search for all places where the package is "use"d.
If there were situations in the language which resulted in 
Beaujolais effects, then certain kinds of changes in "use"d
packages might have mysterious effects in unexpected places.

>				John Volan

S. Tucker Taft   stt@inmet.com
Ada 9X Mapping/Revision Team
Intermetrics, Inc.
Cambridge, MA  02138



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: "Beaujolais Effect" -- what is it?
  1994-11-17 13:10 ` Robert I. Eachus
@ 1994-11-19 17:04   ` Jean D. Ichbiah
  1994-11-20 23:15     ` Matt Kennel
  0 siblings, 1 reply; 5+ messages in thread
From: Jean D. Ichbiah @ 1994-11-19 17:04 UTC (permalink / raw)


 eachus@spectre.mitre.org (Robert I. Eachus) writes:


>   I'll take a shot.  Jean Ichbiah offered a bottle of Beaujolais to
>  the first person to find an Ada 83 program where adding a use clause
>  changed the meaning of the program without changing the legality.

Correct.

It is worth pointing that many popular languages have Beaujolais
effect:  Borland Pascal "uses" clause, which takes and additive,  
layer-after-layer, interpretation of what you  see in the used packages
(units) definitely exhibits a Beaujolais effect.

Last time I looked at C++, my impression was that several years
of Beaujolais vintage productions would be required.

For a component-based software development, such effects are undesirable
since your application may start not working when you recompile
it with the new - supposedly improved  - version of a component.

Jean D. Ichbiah



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: "Beaujolais Effect" -- what is it?
  1994-11-19 17:04   ` Jean D. Ichbiah
@ 1994-11-20 23:15     ` Matt Kennel
  0 siblings, 0 replies; 5+ messages in thread
From: Matt Kennel @ 1994-11-20 23:15 UTC (permalink / raw)


Jean D. Ichbiah (ichbiah@jdi.tiac.net) wrote:
:  eachus@spectre.mitre.org (Robert I. Eachus) writes:


: >   I'll take a shot.  Jean Ichbiah offered a bottle of Beaujolais to
: >  the first person to find an Ada 83 program where adding a use clause
: >  changed the meaning of the program without changing the legality.

: Correct.

: It is worth pointing that many popular languages have Beaujolais
: effect:  Borland Pascal "uses" clause, which takes and additive,  
: layer-after-layer, interpretation of what you  see in the used packages
: (units) definitely exhibits a Beaujolais effect.

: Last time I looked at C++, my impression was that several years
: of Beaujolais vintage productions would be required.

: For a component-based software development, such effects are undesirable
: since your application may start not working when you recompile
: it with the new - supposedly improved  - version of a component.

Question, does Eiffel or Sather have this effect?

Not knowing exactly the problem or Ada too well I am in no position to
answer.

: Jean D. Ichbiah

--
-Matt Kennel  		mbk@inls1.ucsd.edu
-Institute for Nonlinear Science, University of California, San Diego
-*** AD: Archive for nonlinear dynamics papers & programs: FTP to
-***     lyapunov.ucsd.edu, username "anonymous".



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~1994-11-20 23:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1994-11-17 14:53 "Beaujolais Effect" -- what is it? John Volan
1994-11-17 13:10 ` Robert I. Eachus
1994-11-19 17:04   ` Jean D. Ichbiah
1994-11-20 23:15     ` Matt Kennel
1994-11-18 21:37 ` Tucker Taft

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