Related articles |
---|
What is "lambda lifting"? md94-tar@nada.kth.se (1995-11-09) |
Re: What is "lambda lifting"? hbaker@netcom.com (1995-11-12) |
Re: What is "lambda lifting"? jue@cs.tu-berlin.de (1995-11-13) |
Re: What is "lambda lifting"? johnsson@cs.chalmers.se (1995-12-01) |
Newsgroups: | comp.compilers |
From: | hbaker@netcom.com (Henry Baker) |
Keywords: | functional, optimize |
Organization: | nil organization |
References: | 95-11-074 |
Date: | Sun, 12 Nov 1995 17:58:36 GMT |
Functional programming languages get stronger by doing 'lambda lifting'. :-)
To a first approximation, it is a way to avoid creating closures by
adding parameters to the procedures that call them so that the information
can be passed to the non-closure procedure (no free variables) when it
needs it.
The technical term for these non-closure procedures is 'combinators'.
It is well-described in
Peyton-Jones, Simon L. The Implementation of Functional Programming
Languages. Prentice-Hall, 1987, ISBN 0-13-453333-X or 0-13-453325-9 PBK.
One of the canonical references is
Johnsson, T. 1985. "Lambda Lifting: transforming programs to recursive
equations". In Functional Programming Languages and Computer Architecture,
Springer-Verlag LNCS 201, 1985.
--
www/ftp directory:
ftp://ftp.netcom.com/pub/hb/hbaker/home.html
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.