Related articles |
---|
[5 earlier articles] |
Re: Algol W, was Algol 68 Genie Mark 16 - An Algol 68 interpreter gah@ugcs.caltech.edu (glen herrmannsfeldt) (2009-03-25) |
Re: Algol W, was Algol 68 Genie Mark 16 - An Algol 68 interpreter gah@ugcs.caltech.edu (glen herrmannsfeldt) (2009-03-25) |
Re: Algol W, was Algol 68 Genie Mark 16 - An Algol 68 interpreter gdw@wave.co.nz (Glyn Webster) (2009-03-30) |
Re: Algol W, was Algol 68 Genie Mark 16 - An Algol 68 interpreter anton@mips.complang.tuwien.ac.at (2009-03-30) |
Re: Algol W, was Algol 68 Genie Mark 16 - An Algol 68 interpreter gah@ugcs.caltech.edu (glen herrmannsfeldt) (2009-03-30) |
Re: Algol W, was Algol 68 Genie Mark 16 - An Algol 68 interpreter martin@gkc.org.uk (Martin Ward) (2009-03-31) |
Re: Algol W, was Algol 68 Genie Mark 16 - An Algol 68 interpreter torbenm@pc-003.diku.dk (2009-03-31) |
From: | torbenm@pc-003.diku.dk (Torben =?iso-8859-1?Q?=C6gidius?= Mogensen) |
Newsgroups: | comp.compilers |
Date: | Tue, 31 Mar 2009 13:38:29 +0200 |
Organization: | Department of Computer Science, University of Copenhagen |
References: | 09-03-091 09-03-093 09-03-096 09-03-097 09-03-100 09-03-112 |
Keywords: | algol60, history |
Posted-Date: | 31 Mar 2009 14:29:56 EDT |
> [Alan Perlis, who was on the Algol 60 committee, told me that call
> by name was a mistake. They were trying to make an elegant definition
> of call by reference, and didn't realize what they'd done until Jensen's
> Device came along. -John]
From what I heard, the decision to use call-by-name was to ensure that
replacing a call by (a suitably renamed) body would be correct, which
neither call-by-value nor call-by-reference does. But since I wasn't
born at the time, I could be wrong. :-)
But I agree that it was a mistake: It made implementation vastly more
complicated, and in the presence of side-effects you often get
unexpected behaviour. Jensen's device was actually one of the nicer
(and more useful) implications of call-by-name.
Torben
Return to the
comp.compilers page.
Search the
comp.compilers archives again.