Re: Algol W, was Algol 68 Genie Mark 16 - An Algol 68 interpreter

torbenm@pc-003.diku.dk (Torben =?iso-8859-1?Q?=C6gidius?= Mogensen)
Tue, 31 Mar 2009 13:38:29 +0200

          From comp.compilers

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)
| List of all articles for this month |
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


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.