Subject: Re: Summary: Thoughts on implementing Scheme in C
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 27 Nov 2000 01:49:06 GMT
Newsgroups: comp.lang.scheme
Message-ID: <8vseii$2f215$1@fido.engr.sgi.com>
Oops! I just wrote:
+---------------
| Does Kawa use "linked" or "flat" closures?  Or some hybrid?
+---------------

Looking back into this thread, I see you already gave a pointer to a
design document <URL:http://www.gnu.org/software/kawa/internals.html>
which explicitly states that Kawa uses a "static link", but with the
closed-over variables being instantiated in (the first one of) the
*nested* procedures, not in the outer procedure itself. So the answer
is "linked", I guess.

+---------------
| And (if you can say so briefly without too much effort), why?
+---------------

Let's update this question to:  Why did you implement closed-over
variables as elements of nested procedures? Did it have something
to do with the choice that every Scheme procedure is a separate
Java class?

Does this change with the "major change in how closures are
implemented" you referred to? Are closures still "linked" in
the new version?


-Rob

-----
Rob Warnock, 31-2-510		rpw3@sgi.com
Network Engineering		http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		PP-ASEL-IA
Mountain View, CA  94043