Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!nntp.club.cc.cmu.edu!goldenapple.srv.cs.cmu.edu!das-news2.harvard.edu!news.dfci.harvard.edu!camelot.ccs.neu.edu!news.mathworks.com!howland.erols.net!ix.netcom.com!hbaker
From: hbaker@netcom.com (Henry Baker)
Subject: Re: dissecting closures
Content-Type: text/plain; charset=ISO-8859-1
Message-ID: <hbaker-0904970800500001@10.0.2.1>
Sender: hbaker@netcom21.netcom.com
Content-Transfer-Encoding: 8bit
Organization: nil
X-Newsreader: Yet Another NewsWatcher 2.2.0
References: <5ieu8a$mpg@hpaneqb4.an.hp.com> <hbaker-0804972243140001@10.0.2.1> <5ig6ke$cm6@agate.berkeley.edu>
Mime-Version: 1.0
Date: Wed, 9 Apr 1997 16:00:50 GMT
Lines: 17

In article <5ig6ke$cm6@agate.berkeley.edu>, bh@anarres.CS.Berkeley.EDU
(Brian Harvey) wrote:

> hbaker@netcom.com (Henry Baker) writes:
> >Remember, a closure is simply a short-hand for a lazy substitution.
> 
> Even if the procedure does a SET! ?

Yes!  Scheme compilers do 'cell-conversion' for 'variables' that are
'SET!'.  Once you do cell-conversion, substitution is safe.  Of course,
we now have the problem of how to print these cells...

See

ftp://ftp.netcom.com/pub/hb/hbaker/ObjectIdentity.html

for more details.
