|Call by name in Algol-60 RogerHA@aol.com (RogerHA) (1998-03-07)|
|Re: Call by name in Algol-60 email@example.com (1998-03-15)|
|Re: Call by name in Algol-60 RogerHA@aol.com (RogerHA) (1998-03-18)|
|Re: Call by name in Algol-60 firstname.lastname@example.org (John Lindsay) (1998-03-18)|
|Re: Call by name in Algol-60 email@example.com (1998-03-20)|
|Re: Call by name in Algol-60 firstname.lastname@example.org (John Lindsay) (1998-03-24)|
|From:||"John Lindsay" <email@example.com>|
|Date:||24 Mar 1998 22:41:51 -0500|
|Organization:||Royal Military College of Canada|
|References:||98-03-074 98-03-124 98-03-160 98-03-193|
.... snip ....
> ..... There are no implicit type conversions
> permitted in these languages,
There is one -- integer to real.
> .... so, there is no need for run time type
> checks too.
Right, the distinction between passing a variable and passing
a value is pretty explicit, and this takes care of the problem nicely.
> ..... In Algol-60 type checking between compilation units was
> nonexistent (as far as I know), and all things you said are absolutely
> correct in case of Algol.
It seems that the natural tendency to make 'obvious', 'simple',
'elegant' extensions to languages goes past some sort of boundary when
one considers procedure/function calls. The results of doing things
like array variables and expressions, especially when one allows array
cross-sections or slices as pseudo-variables rather than just as
values, may be obvious, simple and elegant in one way and
counter-intuitive, complex and ugly in several others. I think we
look longingly and frustratedly in such directions.
> [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]
This seems right. It was a couple of years until people realized that
a useful, horrible, delightful, problematic and interesting can of
worms had indeed been opened.
John H. Lindsay firstname.lastname@example.org
Department of Mathematics and Computer Science
ROYAL MILITARY COLLEGE OF CANADA
P O BOX 17000 STN FORCES
KINGSTON ON K7K 7B4 CANADA
Phone: (613) 541-6000--1--6419
Fax: (613) 541-6584
Return to the
Search the comp.compilers archives again.