From: bobduff@world.std.com (Robert A Duff)
Subject: Re: The Red Language
Date: 1997/09/18
Date: 1997-09-18T00:00:00+00:00 [thread overview]
Message-ID: <EGpw57.8BI@world.std.com> (raw)
In-Reply-To: dewar.874578577@merv
In article <dewar.874578577@merv>, Robert Dewar <dewar@merv.cs.nyu.edu> wrote:
>Matthew said
No, I said it. (That's the third time this week, Robert. ;-))
><<> Perhaps because it's harder to implement. In C++, you can do overload
>> resolution in a single bottom up pass. Start at the leaves of the
>> expression, and propagate the type of each expression up. In Ada, you
>> need to propagate *sets* of types (or sets of interpretations, or some
>> such) up the tree, and then you have to do a second (top down) pass to
>> propagate the information back to the leaves.>>
>
>
>I think only a non-implementor would say this.
Not true. I'm an implementor, and I said it. ;-)
>... The two passes are not
>a significant complexity issue. The difficulties in overloading resolution
>in Ada (or C++ for that matter) have to do with special situations and
>special rules that must be taken into acccount. The basic 2-pass resolution
>algorityhm is trivial.
It's true that all kinds of special situations are a pain, but I still
claim that the 2-pass algorithm required by Ada is more complicated than
the 1-pass algorithm of C++ and Red. The 2-pass algorithm requires
*sets* of types to be passed up the tree, whereas in the 1-pass
algorithm you can pass a single type up the tree.
Yeah, I agree that's not such a big deal, and I certainly think the Ada
way is Good.
So, Robert, why do *you* think the C++ and Red designers decided that
function results should not affect overload resolution? My claim was
that it's because it's harder to implement. Maybe that implementation
concern is not such a big deal, but I can't think of any *other* reason,
so what do *you* think? Perhaps "It's not (much) harder to implement,
but they *thought* it was at the time"?
- Bob
next prev parent reply other threads:[~1997-09-18 0:00 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <340E2DC5.25D7@worldnet.att.net>
[not found] ` <340ebdaf.230366903@news.mindspring.com>
[not found] ` <340ED5D8.2DEF6D3@ux4.sp.cs.cmu.edu>
1997-09-04 0:00 ` The Red Language Robert Munck
1997-09-07 0:00 ` Robert Dewar
1997-09-08 0:00 ` Richard Kenner
1997-09-12 0:00 ` David Wheeler
1997-09-12 0:00 ` Robert A Duff
[not found] ` <199709051335.PAA25952@basement.replay.com>
1997-09-05 0:00 ` Dean F. Sutherland
1997-09-08 0:00 ` Robert A Duff
1997-09-09 0:00 ` Arthur Evans Jr
[not found] ` <dewar.873953300@merv>
1997-09-11 0:00 ` Robert Dewar
1997-09-11 0:00 ` Dean F. Sutherland
1997-09-12 0:00 ` Robert A Duff
1997-09-11 0:00 ` Arthur Evans Jr
1997-09-12 0:00 ` Robert Dewar
1997-09-12 0:00 ` Robert A Duff
1997-09-07 0:00 ` Robert Dewar
1997-09-08 0:00 ` Tucker Taft
1997-09-12 0:00 ` Robert A Duff
1997-09-12 0:00 ` Michael & Amy Hartsough
1997-09-13 0:00 ` Matthew Heaney
1997-09-14 0:00 ` Robert A Duff
1997-09-16 0:00 ` Brian Rogoff
1997-09-18 0:00 ` Robert Dewar
1997-09-18 0:00 ` Brian Rogoff
1997-09-18 0:00 ` Robert A Duff
1997-09-18 0:00 ` Overload Resolution in Ada (Re: The Red Language) Brian Rogoff
1997-09-19 0:00 ` Robert Dewar
1997-09-19 0:00 ` Robert A Duff
1997-09-19 0:00 ` Brian Rogoff
1997-09-20 0:00 ` Robert Dewar
1997-09-19 0:00 ` The Red Language Robert Dewar
1997-09-19 0:00 ` Robert A Duff
1997-09-21 0:00 ` Robert Dewar
1997-09-21 0:00 ` Algol 68 references (Was Re: The Red Language) Brian Rogoff
1997-09-22 0:00 ` Mark L. Fussell
1997-09-22 0:00 ` The Red Language Richard Kenner
1997-09-22 0:00 ` Richard A. O'Keefe
1997-09-25 0:00 ` Bruce Link
1997-09-22 0:00 ` Chris Morgan
1997-09-30 0:00 ` Charles Lindsey
1997-10-03 0:00 ` Robert I. Eachus
1997-09-19 0:00 ` Brian Rogoff
1997-09-18 0:00 ` Robert Dewar
1997-09-18 0:00 ` Robert A Duff [this message]
1997-09-20 0:00 ` Robert Dewar
1997-09-22 0:00 ` Robert A Duff
1997-09-16 0:00 ` Brian Rogoff
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox