comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Ripple effect
Date: 04 Sep 2006 09:52:01 -0400
Date: 2006-09-04T09:52:01-04:00	[thread overview]
Message-ID: <wccirk3zqm6.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: xF4Hg.924524$084.568220@attbi_s22

"Jeffrey R. Carter" <spam.not.jrcarter@acm.not.spam.org> writes:

> 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). 

The "Nada" thing was a joke.  I would not call a language "Nada", and
certainly not "Duff".  ;-)

But Jeff is correct that I'm continually thinking about designing a
programming langage -- at this point, it's merely a hobby, and I have no
name for the language.

>...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 think you mean there is no equivalent of "use type".

> 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.

No, I think you misunderstand the "Ripple Effect".  As I understand it,
the Ripple Effect means that adding/removing a with_clause can cause
compilation units that do not depend DIRECTLY on the modified thing to
become illegal.  For example, suppose C with's B and B with's A.  Can a
with_clause on A affect the legality of C?  If so, there's a Ripple
Effect.

There's no issue of changing the meaning from one legal program to
another, as can happen with the Beaujolais Effect.  Therefore, the
Ripple Effect is (IMHO) merely an annoyance, rather than a bug-causing
language-design flaw.

I believe Tucker coined the term "Ripple Effect", and that one is
supposed to imagine the addition of a with_clause rippling through the
transitive closure of semantic dependences.  Also, it's a joke because
Ripple is a wine -- that's the main similarity to Beaujolais Effect.
I've never tasted Ripple, but I think it's considered to be of somewhat
lower quality than Beaujolais.  ;-)

Anyway, to answer Jeff's question:  I think with_clauses should be
transitive in the first place, so that the Ripple Effect is not an
issue.

One problem with Ada 83 is that with_clauses cannot appear inside the
private part.  I think that's the root of the idea that transitive
with_clauses are somehow evil.

- Bob



  parent reply	other threads:[~2006-09-04 13:52 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-23 22:29 Ripple effect Jeffrey R. Carter
2006-08-24  9:21 ` Maciej Sobczak
2006-08-24 23:39   ` Jeffrey R. Carter
2006-08-25  7:03     ` Maciej Sobczak
2006-08-24 18:22 ` Adam Beneschan
2006-08-24 23:40   ` Jeffrey R. Carter
2006-09-04 13:52 ` Robert A Duff [this message]
2006-09-04 15:15   ` Jeffrey R. Carter
2006-09-04 18:06     ` Robert A Duff
2006-09-05  2:33       ` Jeffrey R. Carter
2006-09-05  7:23         ` Dmitry A. Kazakov
2006-09-05 16:28           ` Robert A Duff
2006-09-05 16:23         ` Robert A Duff
2006-09-05 21:36           ` Jeffrey R. Carter
2006-09-07 18:18             ` Robert A Duff
2006-09-08 22:02               ` Jeffrey R. Carter
2006-09-06  0:10           ` Randy Brukardt
2006-09-07 18:30             ` Robert A Duff
2006-09-07 21:21               ` Simon Wright
2006-09-08  2:08               ` Randy Brukardt
2006-09-09 14:55             ` adaworks
2006-09-05 23:52         ` Randy Brukardt
2006-09-07 19:09   ` Adam Beneschan
2006-09-07 19:21     ` Ed Falis
2006-09-07 19:46       ` Larry Kilgallen
2006-09-08 13:06         ` Ed Falis
replies disabled

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