[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


    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

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
gives you that
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