Re: Implementing Closures

rpw3@rpw3.org (Rob Warnock)
Fri, 01 May 2009 05:49:47 -0500

          From comp.compilers

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)
| List of all articles for this month |

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



Post a followup to this message

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