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

Re: Clarification of full funarging and spaghetti stacks

Apologies again for being a week behind in mail (I'm trying hard to 
catch up!).  This issue of "funarging and spaghetti stacks" came up
in the context of some *private* mail  I had sent to Moon, hoping to
get his view of the matter first (unfortunately, the mailer here loused
up the "at SCRC-TENEX" part, and he didn't get the mail).
    Date: 3 Sep 1982 17:59 PDT
    From: JonL at PARC-MAXC
    Subject: Re: a protest
    In-reply-to: MOON's message of Tuesday, 31 August 1982  17:38-EDT
    cc: JonL,Guy.Steele@CMUA,Hedrick@Rutgers
    . . . 
GLS has already replied to this one, with cc to CommonLisp, and I'm still 
not sure if there is a consensus (or even a clear understanding of terms).

Part of the confusion may be due to the new terminology in the CL
manual (admittedly, good terminology, but still new to lispers).   Anyway, 
it *appears* that the meaning of "funargs" in this context implies potential
stack-frame retention;  I think it was concern over this point ("full funargs"
with indefinite scope) that brought up the discussion over a point which may 
be called "PROG label retention" (the indefinite extension of a dynamic "GO",
namely THROW).

I like the idea of CLOSUREs having indefinite extent, and also being able to
"capture" selected special variables, as in the current LISPM.  I don't like the
idea of all environment being "closed over", which implies spaghetti.