comp.lang.ada
 help / color / mirror / Atom feed
From: Brian Rogoff <bpr@shellx.best.com>
Subject: Overload Resolution in Ada (Re: The Red Language)
Date: 1997/09/18
Date: 1997-09-18T00:00:00+00:00	[thread overview]
Message-ID: <Pine.SGI.3.95.970918180906.18953A-100000@shellx.best.com> (raw)
In-Reply-To: EGoLLn.ABt@world.std.com


My apologies for the off topic post...

On Thu, 18 Sep 1997, Robert A Duff wrote:
> In article <Pine.SGI.3.95.970916190053.19184D-100000@shellx.best.com>,
> Brian Rogoff  <bpr@shellx.best.com> wrote:
> >Is this second pass strictly necessary? I seem to remember reading that it 
> >is possible to do overload resolution in one pass in Ada.
> 
> Well, I suppose you can always do a two-pass algorithm in one pass, by
> having a sufficienty complicated back-patching scheme or some such.  I
> read a paper a long time ago about one-pass overload resolution in Ada,
> and my impression was that the one-pass algorithm was basically
> calculating (during the first pass) all possible results that *might*
> occur on the second pass, and then throwing all but one of them away,
> thus avoiding the need for the second pass.

OK, I cracked open my compiler reference (Dragon book, if you care) to
refresh my memory, and in the bibliographic notes to chapter 6 we find, 
after a mention of the straightforward two pass algorithms 

	... Baker (1982) avoids an explicit backward pass by carrying along 
	a DAG of possible types.  

where the paper cited is 

	Baker, T.P. (1982) "A one-pass algorithm for overload resolution 
	in Ada"  TOPLAS 4:4 601-614

I haven't read this paper, but from that one line description it appears 
that you are correct as to the approach. I'll try to find a copy and 
confirm this.

> This seemed silly at the
> time -- it seemed like the so-called one-pass algorithm would be more
> complicated to program, and less efficient, than the two-pass algorithm.

Out of curiosity, what is the worst case running time(s) of the two pass 
algorithm(s)?
 
> <... nice example arguing for two-passedness deleted ...> 
> 
> The denotation of F is determined in part by the possible denotations of
> G, and vice versa.  This seems fundamentally two-pass to me -- I don't
> like to call it "one pass" if the one pass is doing all the work of all
> possible second passes.

I agree that the two pass algorithm is obvious, and that (what I am
guessing Baker does) is cheating :-), but I did write "strictly speaking". 

-- Brian






  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                 ` Arthur Evans Jr
1997-09-12  0:00                   ` Robert A Duff
1997-09-12  0:00                   ` Robert Dewar
1997-09-11  0:00                 ` Dean F. Sutherland
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           ` Brian Rogoff [this message]
1997-09-19  0:00             ` Overload Resolution in Ada (Re: The Red Language) Robert A Duff
1997-09-19  0:00               ` Brian Rogoff
1997-09-20  0:00                 ` Robert Dewar
1997-09-19  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 A. O'Keefe
1997-09-25  0:00                   ` Bruce Link
1997-09-22  0:00                 ` Chris Morgan
1997-09-22  0:00                 ` Richard Kenner
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
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