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

Re: Issue: REDUCE-ARGUMENT-EXTRACTION (version 1)



    Date: Tue, 8 Dec 87 12:47 EST
    From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>

        Discussion:
    
        Several members of the committee feel that the increased functionality
        outweighs the damage to the definition of :KEY.  No one has objected
        to this change in the recent round of discussions.
    
    There is no "definition" of :KEY. At best, it's an unwritten rule. It's arguably
    just a coincidence. Anyway, the general sentiment of this paragraph is right,
    but it should be worded more carefully so that it doesn't set a precedent for
    "unwritten rules" having to be too strongly justified.

To quote from CLtL page 246: "If an operation tests elements of a
sequence in any manner, the keyword argument :KEY, if not NIL, should
be function of one argument that will extract from an element the part
to be tested in place of the whole element."

This seems like a definition of :KEY to me, though I will cheerfully
agree that it doesn't specify that this is the only legal meaning of
:KEY.

	Proposal (REDUCE-ARGUMENT-EXTRACTION:KEY):

	Change the definition of REDUCE to take a :KEY keyword.

    This needs to be more elaborated. You need to say what the :KEY keyword will do.
    The proposal part of these write-ups is intended to stand on its own.

The text on page 246 is also the only place that :KEY is documented in
CLtL.  However, I agree that a full description should be here both
because this is a slightly different use of :KEY and because our
standard document is likely to be more verbose than CLtL.