Related articles |
---|
Re: call by name sean@mpi-sb.mpg.de (1995-06-13) |
Newsgroups: | comp.compilers |
From: | sean@mpi-sb.mpg.de (Sean Matthews) |
Keywords: | design, comment |
Organization: | Max-Planck-Institut fuer Informatik |
References: | <3onb0u$7ec@news.uni-c.dk> <3qi7oi$ee5@seralph9.essex.ac.uk> <3qvr02$4p2@minerva.worldbank.org> <dbayly-0606951052440001@homebase.tiac.net> <3rclle$ni9@csnews.cs.colorado.edu> |
Date: | Tue, 13 Jun 1995 11:35:31 GMT |
Status: | RO |
David Bayly <dbayly@homebase.tiac.net> 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
obscurity.
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
--
Sean Matthews <sean@mpi-sb.mpg.de>
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
URL: http://www.mpi-sb.mpg.de/~sean/
[Indeed, Alan Perlis told me that call by name was a mistake; they intended
call by reference. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.