Related articles |
---|
[4 earlier articles] |
Re: Implementing Closures cr88192@hotmail.com (cr88192) (2009-04-26) |
Re: Implementing Closures torbenm@pc-003.diku.dk (2009-04-28) |
Re: Implementing Closures pertti.kellomaki@tut.fi (Pertti Kellomaki) (2009-04-29) |
Re: Implementing Closures torbenm@pc-003.diku.dk (2009-04-29) |
Re: Implementing Closures dot@dotat.at (Tony Finch) (2009-04-29) |
Re: Implementing Closures haberg_20080406@math.su.se (Hans Aberg) (2009-04-29) |
Re: Implementing Closures rpw3@rpw3.org (2009-05-01) |
Re: Implementing Closures rpw3@rpw3.org (2009-05-01) |
From: | rpw3@rpw3.org (Rob Warnock) |
Newsgroups: | comp.compilers |
Date: | Fri, 01 May 2009 05:49:47 -0500 |
Organization: | Rob Warnock, Consulting Systems Architect |
References: | 09-04-056 09-04-084 09-04-087 09-04-089 |
Keywords: | storage, functional, ML, Scheme |
Posted-Date: | 01 May 2009 19:22:02 EDT |
Tony Finch <dot@dotat.at> wrote:
+---------------
| torbenm@pc-003.diku.dk (Torben =?iso-8859-1?Q?=C6gidius?= Mogensen) wrote:
| >Pertti Kellomaki <pertti.kellomaki@tut.fi> writes:
| >> Torben Fgidius Mogensen wrote:
| >>>
| >>> You can also do closure conversion: Transform the source program so
| >>> all building of closures is done at the source level.
| >>
| >> Are there some relatively well known systems that use this approach?
| >
| >Many implementations of SML, including SML of New Jersey, do this.
|
| In the lazy functional programming language literature (i.e. mostly
| Haskell) it's often called "lambda lifting".
+---------------
Lambda lifting is also used in a number of Scheme compilers, e.g.,
Stalin[1], Gambit[2], Larceny/Twobit[3], and probably numerous others.
-Rob
[1] http://cobweb.ecn.purdue.edu/~qobi/software.html
ftp://ftp.ecn.purdue.edu/qobi/stalin.tar.Z
[2] http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page
[3] http://www.ccs.neu.edu/home/will/Larceny/
http://www.ccs.neu.edu/home/will/Larceny/twobit.html
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607
Return to the
comp.compilers page.
Search the
comp.compilers archives again.