Xref: utzoo comp.lang.scheme:1171 comp.lang.lisp:2919 Path: utzoo!attcan!uunet!cs.utexas.edu!asuvax!ncar!mephisto!bloom-beacon!eru!luth!sunic!mcsun!ukc!edcastle!aiai!jeff From: jeff@aiai.ed.ac.uk (Jeff Dalton) Newsgroups: comp.lang.scheme,comp.lang.lisp Subject: Re: Correct LisP (was Re: in defense of C) Message-ID: <2034@skye.ed.ac.uk> Date: 14 Mar 90 15:17:13 GMT References: <1942@skye.ed.ac.uk> <14236@cbnewsc.ATT.COM> <12572711825024@AIDA.CSD.UU.SE> Reply-To: jeff@aiai.UUCP (Jeff Dalton) Organization: AIAI, University of Edinburgh, Scotland Lines: 23 In article <12572711825024@AIDA.CSD.UU.SE> D89.JOHNNY-BILLQUIST@AIDA.CSD.UU.SE (Johnny Billquist) writes: >The correct argument to CAR and CDR is *not* lists, but >s-expr (punctuated pairs to be specific). Ok so far. >The fact that most (if not all) LisPs implement lists by >punctuated pairs is a feature you should not rely upon. Why not? Indeed, in Lisp lists just are dotted pairs used in a certain way. You might argue that "list" ought to be more abstract, but it isn't. >That is why the functions FIRST and REST exists. Sure, they do just >CAR and CDR, but what if you stumles upon a LisP which implement >lists in another way? Most Lisps don't have FIRST and REST. A CL or Scheme that implements lists some other way wouldn't be a conforming implementation. -- Jeff