|Re: call by name firstname.lastname@example.org (1995-06-13)|
|From:||email@example.com (Sean Matthews)|
|Organization:||Max-Planck-Institut fuer Informatik|
|References:||<firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org> <email@example.com> <firstname.lastname@example.org>|
|Date:||Tue, 13 Jun 1995 11:35:31 GMT|
David Bayly <email@example.com> wrote:
>Call by name is an extremely powerful technique that the "dumbing down" of
>computer courses has caused to be sadly negelected. What a shame.
Call by name is a technique that is very difficult to handle
both in theory and in practice (programming with it is hard,
getting a compiler to handle it efficiently is hard). The
only advantage it has is for programmers indulging in wilful
It was accidently, so far as I remember, introduced into the
algol 60 specification, and we had to live with it for a while.
A bit like McCarthy accidently introduced dynamic scoping into
Lisp, and we were stuck with that, and some of the most horribly
obscure hacks and bugs in programming, for a long time.
May they both rest in peace.
Interestingly, its only in languages that are properly referentially
transparent, like functional programming languages with *properly*
implemented substition, that call-by-name makes sense; but then it
is usually called lazy evaluation rather than call-by-name.
Sean Matthews <firstname.lastname@example.org>
Work: Max-Planck-Institut fuer Informatik, phone: +49 681 302 5363
Im Stadtwald, D-66123 Saarbruecken, Germany fax: +49 681 302 5401
Home: Grossherzog-Friedrich Str. 70, Saarbruecken phone: +49 681 64015
[Indeed, Alan Perlis told me that call by name was a mistake; they intended
call by reference. -John]
Return to the
Search the comp.compilers archives again.