[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
issue COMPILER-LET-CONFUSION, V3
In spite of the fact that there is no recent mail on this issue, I'm
bugged that you think this is stable.
I have voiced very strong objection to this proposal and there is no
mention of the fact that I dissent, nor my reasons in the discussion.
[As an aside, I feel compelled to note that I feel that a key distinction
between the proposals circulated on CL-Cleanup and those circulated
on CL-Compiler is that the CL-Cleanup forum is extremely concerned with
getting a fair presentation of everyone's position. In general, Cleanup
does not drop alternative proposals unless they can achieve consensus
that it is not worth pursuing the alternate proposals. Since this
proposal doesn't satisfy me and others which were closer to correct
have been dropped, I do not believe that the presentation is unbiased,
and I believe a disservice is done to the community. Remember that
the full community is not necessarily fairly represented within the
microcosm of CL-Compiler, so just because something is not "receiving
much support" within CL-Compiler doesn't mean it won't outside. The
question is what is technically defensible. The REQUIRE-PREPASS proposal
was, for example, technically defensible and arguably the right thing.
Moreover, since you are proposing an incompatible change, my feeling is
that the burden is on you to demonstrate that you have a compelling
justification for doing so. I don't think you've made that case fairly,
presenting arguments both pro and con. I don't think this presentational
bias is unique to this issue.]
Returning from the meta-level, let me say that I continue to believe
strongly that this whole issue is ill-presented. I agree that COMPILER-LET
is ill-presented in CLtL, but that doesn't mean it's useless.
This proposal reads like "Well, they didn't describe it right and we
can't figure out how to make sense of it, so let's pretend it served no
purpose and remove it."
I've made a case that it expresses a useful high level concept and that
it can be coherently implemented. The truth is not that it is impossible
to either describe coherently or to implement, only that there is a cost
to some implementations to bring them in line with such a description.
For the presentation to be fair, it must present the following things:
- The original intent of COMPILER-LET, which acknowledges that it
had a valid, useful, and potentially portable purpose.
- A description of why COMPILER-LET was ill-described in CLtL,
hiding the original intent.
- A description of how the poor description in CLtL led
implementations to make certain assumptions about how they could
implement some kinds of things (like environments).
- A description of why these assumptions that have been made by
existing implementations now mean that implementing the correct
semantics would have a certain non-negligible cost to certain
implementations, and a serious account of what that cost might be.
- A description of the two legitimate options:
* Fix the description of COMPILER-LET.
* Remove COMPILER-LET.
I want people to make an informed decision. If on the basis of a fairly
presented case, people make a reasoned decision to not go with COMPILER-LET,
I will not be unhappy.
If, instead, you present a proposal which shows only a highly biased
viewpoint with no attempt made to be fair, and people vote on this based
on what I expect will be a misunderstanding of the true situation,
then I will be quite unhappy.
These cleanup writeups will stand as the closest things to rationales
for why we changed the language or did not. I want the record to reflect
the full set of facts, and our ability to make reasoned choices about
hard issues. I do not want the record to reflect someone railroading
something through without proper presentation.
I hope this message suffices to dispell any belief that we are all
basically ready for a vote on this issue as currently presented.