[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: PROCLAIM-LEXICAL
- To: edsel!bhopal!jonl@NAVAJO.STANFORD.EDU
- Subject: Issue: PROCLAIM-LEXICAL
- From: Jonathan A Rees <JAR@AI.AI.MIT.EDU>
- Date: Thu, 30 Apr 87 22:03:41 EDT
- Cc: KMP@AI.AI.MIT.EDU, CL-Cleanup@SAIL.STANFORD.EDU
- In-reply-to: Msg of Thu 30 Apr 87 16:11:01 PDT from edsel!bhopal!jonl at navajo.stanford.edu (Jon L White)
Date: Thu, 30 Apr 87 16:11:01 PDT
From: edsel!bhopal!jonl at navajo.stanford.edu (Jon L White)
With respect to environments for a "free variable" reference, there are3,
not 4, possibilities. A lexically-bound variable isn't free, and hence
not, I thought, of concern to this discussion [which was opened up by your
attempt to clarify the semantics of free variables].
OK, I see. "Free" means lexically free.
Re: . . . I see no reason
to impose this restriction, and I see Scheme compatibility as a big
reason that we SHOULD allow lambda-binding variables which have global
bindings. . . .
I think you misread this completely backwards. It WASN'T that you
couldn't lambda-bind anything that had a binding in the global
environment. It WAS that you couldn't lambda-bind anything that was
explicitly declared or proclaimed GLOBAL rather than SPECIAL (or
LOCAL?).
Since you are implicitly proposing a third kind of declaration (GLOBAL,
in addition to SPECIAL and my proposed LEXICAL), I take this as an
implicit criticism of the proposal; you must consider it inadequate or
else you wouldn't be suggesting this new and different idea. I'm
wondering what
(PROCLAIM '(GLOBAL ...))
gives you that
(PROCLAIM '(LEXICAL ...))
doesn't. Forgetting our differences in conceptual model and terminology
for the moment, the ONLY difference I see between these (assuming the
RESTRICTED proposal), either semantically and pragmatically, is that a
variable that proclaimed GLOBAL cannot be lexically lambda-bound.
Therefore I don't see what GLOBAL adds to my proposal or why you are
suggesting that it's a good idea. (Certainly in the absence of
(PROCLAIM '(LEXICAL ...)), it is a good idea.)
I.e. I don't see how your "global" variables are different from my
"global lexical" variables.
Getting back to terminology: why do you think LOCAL is a better name
than LEXICAL? LEXICAL seems more general and more descriptive to me, as
long as you buy the idea that there is such a thing as a top-level
(global) environment, which serves as BOTH the top-level lexical
environment and as the top-level dynamic environment (unless KMP has his
way).
Jonathan