Related articles |
---|
[6 earlier articles] |
Re: Jensen's device genew@vip.net (1998-03-30) |
Re: Jensen's device mslamm@olive.mscc.huji.ac.il (1998-03-30) |
Re: Jensen's device u-reddy@cs.uiuc.edu (Uday S. Reddy) (1998-03-30) |
Re: Jensen's device Andrew.Walker@nottingham.ac.uk (Dr A. N. Walker) (1998-04-03) |
Re: Jensen's device jmccarty@sun1307.spd.dsccc.com (1998-04-03) |
Re: Jensen's device ok@atlas.otago.ac.nz (Dr Richard A. O'Keefe) (1998-04-03) |
Re: Jensen's device rweaver@ix.netcom.com (1998-04-03) |
From: | rweaver@ix.netcom.com (Richard Weaver) |
Newsgroups: | comp.compilers |
Date: | 3 Apr 1998 17:13:25 -0500 |
Organization: | Netcom |
References: | 98-03-193 98-03-259 |
Keywords: | algol60, question |
> [Remember that call by name was a mistake. The Algol60 was trying to write
> an elegant definition of call by reference and inadvertently created call
> by name. Nobody realized it until the paper on Jensen's device.
-John]
Hmmmm. At the ACM SIGPLAN History of Programming Languages
Conference, 1978, Peter Naur said "My own experience stemmed primarily
from my work with the EDSAC, Cambridge England, in 1951 and 1953.
This had given me a strong impression of the importance of closed
subroutines, including the use of what in retrospect may be described
as parameters called by name", from "History of ...", Wexelblat,
p.100.
Seems odd that in a section titled "Influence from other Languages"
Naur would list an influence that led to a "mistake". As best I can
tell, EDSAC subroutine initialization moved the "address" field of
parameters into those instructions requiring that address. Since the
"address" field included, I think, both the B register (an index
register?) and a data type (long,short?), the effect is, as Naur said,
sort of a call by name. The ?'s indicate a quick look; I did not spend
a lot of time reviewing EDSAC.
Dick W
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.