[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Implementation of MAP, SOME, EVERY, etc...
- To: Dan Corkill <cork%umass-cs.csnet@CSNET-RELAY.ARPA>
- Subject: Implementation of MAP, SOME, EVERY, etc...
- From: Rob MacLachlan <RAM@CMU-CS-C.ARPA>
- Date: Wed, 20 Mar 1985 09:07:00 -0000
- Cc: common-lisp@SU-AI.ARPA
- In-reply-to: Msg of 19 Mar 1985 11:58-EST from Dan Corkill <cork%umass-cs.csnet at csnet-relay.arpa>
I think that a sufficiently fascist interpretation of the CLM
would say that this is erroneous. Nowhere in the CLM is it stated
that a circular list is the same as an infinite list, and it is
unlikely that any implementation would consistently have those
semantics. Setting element 537 of an infinite list should only
change element 537. Setting element 537 in a one-element circular
list would probably change all the elements if it terminates.
The definition of a normal list in the Lists chapter is one
terminated by NIL. By this definition, a circular list is a dotted
list. I believe that there was a decision at one point that functions
which use lists as sequences (a superset of the sequence functions)
are allowed to complain about dotted lists. This is implied by the
statement that Endp is the canonical list-end predicate.