From: Jeffrey R. Carter on
On the Ada-Comment mailing list recently, Robert Duff shared some ideas
on language design for a language he is thinking about (which may be
called Nada, but is definitely not called Duff). In this language, there
is no equivalent of the Ada "use" and primitive operators ("+", "-") of
a type are directly visible wherever the type is used.

I recall that during the Ada-9X revision process, it was proposed that
primitive operators of a type have this kind of visibility. IIRC, one of
the reasons that this was not accepted was that it would lead to Ripple
effects: adding or removing a unit from a context clause could change
one legal program to a different legal program.

If Herr Doktor Professor Duff is interested, I'd like to hear his
thoughts on the matter, and how Nada (or whatever) deals with this.

--
Jeff Carter
"Brave Sir Robin ran away."
Monty Python and the Holy Grail
59
From: Maciej Sobczak on
Jeffrey R. Carter wrote:

> I recall that during the Ada-9X revision process, it was proposed that
> primitive operators of a type have this kind of visibility. IIRC, one of
> the reasons that this was not accepted was that it would lead to Ripple
> effects: adding or removing a unit from a context clause could change
> one legal program to a different legal program.

Why?
If you remove some use clause that might affect the visibility of some
primitive operation, then it will also remove the whole type that is
involved in a given expression, rendering the whole as illegal.

Could you provide a short example of this Ripple effect?

--
Maciej Sobczak : http://www.msobczak.com/
Programming : http://www.msobczak.com/prog/
From: Adam Beneschan on
Jeffrey R. Carter wrote:

> I recall that during the Ada-9X revision process, it was proposed that
> primitive operators of a type have this kind of visibility. IIRC, one of
> the reasons that this was not accepted was that it would lead to Ripple
> effects: adding or removing a unit from a context clause could change
> one legal program to a different legal program.

This has nothing to do with the topic. But my understanding is that
the Beaujolais effect was named because Jean Ichbiah offered a bottle
of Beaujolais wine to anyone who could find a certain anomaly in the
language. So are you saying that if someone finds a Ripple effect,
you're going to offer them a bottle of .... ???

Aaahh... I don't even think they sell it any more.

-- Adam

From: Jeffrey R. Carter on
Maciej Sobczak wrote:
>
> Why?
> If you remove some use clause that might affect the visibility of some
> primitive operation, then it will also remove the whole type that is
> involved in a given expression, rendering the whole as illegal.
>
> Could you provide a short example of this Ripple effect?

No. I'm simply aware that STT cites direct operator visibility as
potentially giving rise to the Ripple effect in the Ada FAQ

http://www.adapower.com/index.php?Command=Class&ClassID=FAQ&CID=358

--
Jeff Carter
"Now go away or I shall taunt you a second time."
Monty Python & the Holy Grail
07
From: Jeffrey R. Carter on
Adam Beneschan wrote:
>
> This has nothing to do with the topic. But my understanding is that
> the Beaujolais effect was named because Jean Ichbiah offered a bottle
> of Beaujolais wine to anyone who could find a certain anomaly in the
> language. So are you saying that if someone finds a Ripple effect,
> you're going to offer them a bottle of .... ???

What topic? I started this thread about the Ripple effect and direct
operator visibility. It has little to do with the Beaujolais effect.

Information about the Ripple effect is available at

http://www.adapower.com/index.php?Command=Class&ClassID=FAQ&CID=358

--
Jeff Carter
"Now go away or I shall taunt you a second time."
Monty Python & the Holy Grail
07