Re: What is "lambda lifting"? (Henry Baker)
Sun, 12 Nov 1995 17:58:36 GMT

          From comp.compilers

Related articles
What is "lambda lifting"? (1995-11-09)
Re: What is "lambda lifting"? (1995-11-12)
Re: What is "lambda lifting"? (1995-11-13)
Re: What is "lambda lifting"? (1995-12-01)
| List of all articles for this month |

Newsgroups: comp.compilers
From: (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:

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.