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

Re: a protest

    Date: 30 Aug 1982 16:54 PDT
    From: JonL at PARC-MAXC
    Subject: Re: a protest
    In-reply-to: HEDRICK's message of 24 Aug 1982 1321-EDT
    To: HEDRICK at RUTGERS (Mgr DEC-20s/Dir LCSR Comp Facility)
    cc: common-lisp at SU-AI

    I thought CLOSUREs got discussed, but I'm not sure under which
    numbered item.  In particular, I thought we agreed upon having
    CLOSUREs "capture" local variables (as well as special variables), 
    and maybe we renamed this "locality" concept as "lexical".  

I think the word closure is being used for two things.  There is the
Lisp machine function CLOSURE, which closes over a named set of
special variables.  We seem to have agreed (through the mail) not to
put this into Common Lisp.

There is also the pseudo-mathematical concept of the closure of a function
over an environment.  I'm not sure but I think we have agreed to support
"full funarging" as part of the introduction of lexical scoping in
Common Lisp.  Thus (FUNCTION (LAMBDA ...)), or (FUNCTION FOO) where
FOO is defined with a LABELS, used as an argument passes a closure
(lower case) of that function as the argument.  The manual is silent
about the issue that this funarg is a different data type from the
function itself.

    I don't remember any decision about allowing non-local GOs --
    what's the story?  (issue 68 isn't about non-local GO, since its
    concerned with the lexical scope around a CATCH-ALL).

This was agenda item #8.  We agreed that at least in principle there should
be no restrictions.  Item #49 (get rid of local scope, have only lexical
scope) is relevant, also.

Agenda item #68 is about PUSHNEW.