Subject: Re: Summary: Thoughts on implementing Scheme in C
From: (Rob Warnock)
Date: 27 Nov 2000 01:49:06 GMT
Newsgroups: comp.lang.scheme
Message-ID: <8vseii$2f215$>
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:>
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 Warnock, 31-2-510
Network Engineering
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		PP-ASEL-IA
Mountain View, CA  94043