[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issues: LET-TOP-LEVEL (version 1) vs DEFMACRO-BODY-LEXICAL-ENVIRONMENT
- To: "David A. Moon" <Moon%STONY-BROOK.SCRC.Symbolics.COM@multimax>
- Subject: Re: Issues: LET-TOP-LEVEL (version 1) vs DEFMACRO-BODY-LEXICAL-ENVIRONMENT
- From: Dan L. Pierson <pierson@mist>
- Date: Wed, 09 Mar 88 15:49:01 EST
- Cc: cl-cleanup%SAIL.STANFORD.EDU@multimax
- In-reply-to: Your message of Sun, 06 Mar 88 15:41:00 -0500.
Date: Sun, 6 Mar 88 15:41 EST
From: David A. Moon <Moon@STONY-BROOK.SCRC.Symbolics.COM>
I don't think so. For example, the proposal only mentions LET. This is
obviously incomplete. It should at least mention LET*. But what about
the LAMBDA combination that is almost equivalent to LET? What about
other binding forms such as DO? What about other bindings besides
variables, such as MACROLET, FLET, and BLOCK? I think the proposal
needs much more careful attention to how narrow or broad its scope is
supposed to be. Understand that I do not object to the change proposed
by this proposal. I think that that change is going to be part of the
real proposal; I just don't think it makes sense to do that one change
by itself.
I certainly agree with at least the first part of this; I should have
covered at least LET* in the original proposal. While the next
edition should include all of the areas mentioned above, I think that
the it may be best to explicitly not support some of them if the
current vague definition of "top level" stands.
More generally, I think this proposal is patching Common Lisp's
ill-defined notion of "top level" instead of fixing it. While there
are some practical benefits to the patch, as it makes a small increase
in the number of programs that are portable, I don't think it really
solves the problem. In practical terms, I can't see asking my compiler
people to spend time implementing this when it's obvious that this is
an interim change and something better is, or should be, on its way.
I'd rather they spend their energies elsewhere until Common Lisp has
really got its act together on this "top level form" business, and then
they can implement what is really the right thing.
There seems to be a lot of general agreement on this. Is it a cleanup
or compiler issue (or *the* compiler issue)?
If this proposal were presented in its current form, I would oppose it.
No amount of wording changes would change my position. I want to see
a broader proposal.
Does this mean that you would oppose anything that didn't include a
fixed definition of "top level"? If so, do you think that such a fix
is a required part of the standard we're working on or that
standardizing the status quo is preferable to any halfway measures?