Xref: utzoo comp.lang.scheme:1160 comp.lang.lisp:2905 Path: utzoo!attcan!uunet!samsung!think!snorkelwacker!bloom-beacon!eru!luth!sunic!bmc!kuling!aida.csd.uu.se!d89.johnny-billquist From: D89.JOHNNY-BILLQUIST@AIDA.CSD.UU.SE (Johnny Billquist) Newsgroups: comp.lang.scheme,comp.lang.lisp Subject: Re: Correct LisP (was Re: in defense of C) Message-ID: <12572711825024@AIDA.CSD.UU.SE> Date: 11 Mar 90 02:08:46 GMT References: <1942@skye.ed.ac.uk> <14236@cbnewsc.ATT.COM> Sender: news@kuling.UUCP Lines: 33 In article <14112@cbnewsc.ATT.COM> lgm@cbnewsc.ATT.COM (lawrence.g.mayka,ihp,) writes: >One of the most important quality measures of a Common Lisp >compiler is the level of safety it supports without an undue >sacrifice in execution speed. The better CL implementations score >quite highly on this scale, especially on newer processor >architectures such as SPARC. For example, the better compilers >indeed ensure that CAR and CDR are only applied to lists, without >a loss of execution speed and even though a CL implementation must >permit one to apply CAR and CDR to the symbol NIL. You might consider me picky, but someone might feel this is important. The correct argument to CAR and CDR is *not* lists, but s-expr (punctuated pairs to be specific). The fact that most (if not all) LisPs implement lists by punctuated pairs is a feature you should not rely upon. 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? If you should do it *really* right, CAR and CDR should not be able to work on lists at all, however convenient it might be. Anybody who cares to flame can do it to me personally. ====================================================================== Everybody know that the DECstation is a pdp8, which is a RISC, but where did MIPS computers get into it? - Johnny Billquist D89.JOHNNY-BILLQUIST@AIDA.CSD.UU.SE ======================================================================