[comp.compilers] Algol, and language design

ccc_ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) (08/07/90)

Has anybody else noticed that call-by-name makes a certain amount of
sense when you're expanding routine calls in-line?

Think of macros that expand to generated code (or perhaps some
intermediate form thereof), as opposed to more source code.

Lawrence D'Oliveiro                       fone: +64-71-562-889
Computer Services Dept                     fax: +64-71-384-066
University of Waikato            electric mail: ldo@waikato.ac.nz
Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
-- 
Send compilers articles to compilers@esegue.segue.boston.ma.us
{spdcc | ima | lotus| world}!esegue.  Meta-mail to compilers-request@esegue.

rwh@PROOF.ERGO.CS.CMU.EDU (Robert Harper) (08/07/90)

ccc_ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:

>Has anybody else noticed that call-by-name makes a certain amount of sense
>when you're expanding routine calls in-line? Think of macros that expand to
>generated code (or perhaps some intermediate form thereof), as opposed to
>more source code.

John Reynolds certainly has: his new language, Forsythe, is call-by-name, and
the compiler makes heavy use of this property.  In fact, the default is to
open-code all procedures, with closed-coding forced only when recursion is
involved.
-- 
Robert Harper				
School of Computer Science		Net: rwh@cs.cmu.edu
Carnegie Mellon University		Phone: +1 412 268 3675
Pittsburgh, PA 15213
-- 
Send compilers articles to compilers@esegue.segue.boston.ma.us
{spdcc | ima | lotus| world}!esegue.  Meta-mail to compilers-request@esegue.