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


    Date: Fri, 28 Aug 87 15:20:00 PDT
    From: edsel!bhopal!jonl@labrea.stanford.edu (Jon L White)

    Your presumption that Lucid's ENDP returns something rather than
    signalling an error on "erroneous" arguments isn't borne out.

Sorry. I must have mis-read something. In any case, my main point was
that much flexibility is (for better or worse) legal. I thought you
were flexing differently than we, but even if you weren't, some other
implementation probably is.

    The intended point about CLtL, p265, is that LIST-LENGTH should view
    the matter the same way that ENDP does.

[Assuming I understand you this time,] I don't agree.  It is permitted
to do so, but not required to do so. The definition shown is only a
sample and is not definitional. Just because they both do something
undefined doesn't mean they have to do the same undefined thing.

My reading is that an implementation for which (ENDP 'A) returns T may
still signal an error on (LIST-LENGTH '(A . A)). Similarly, even if
(LIST-LENGTH '(A . A)) returns 1, (ENDP 'A) may signal an error.

It is somewhat possible that what you say (LIST-LENGTH and ENDP should
behave in a correlated fashion) was the intention of the author(s), but
if so I don't believe that this intent was adequately carried through
into the written word.