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