Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!uwvax!husc6!sri-unix!hplabs!sdcrdcf!trwrb!suhre From: suhre@trwrb.UUCP Newsgroups: comp.sources.d,misc.misc Subject: Re: Lisp operators Message-ID: <1619@trwrb.UUCP> Date: Thu, 26-Feb-87 13:43:06 EST Article-I.D.: trwrb.1619 Posted: Thu Feb 26 13:43:06 1987 Date-Received: Sun, 1-Mar-87 09:00:05 EST References: <1277@beta.UUCP> <517@cod.UUCP> <1297@zeus.TEK.COM> Reply-To: suhre@trwrb.UUCP (Maurice E. Suhre) Organization: TRW EDS, Redondo Beach, CA Lines: 22 Xref: utgpu comp.sources.d:372 misc.misc:617 In article <1297@zeus.TEK.COM> dant@tekla.tek.com (Dan Tilque) writes: > >Many years ago at school when I learned Lisp (I've never used it since) I >learned that there are essentially two operators in the language. These >are "CAR" and "CDR". ("CDR" *is* pronounced "could-er".) The interesting >thing about them is their origin. It seems that on the machine where >the language was developed (at Stanford, I think; don't know what machine) >there were two registers: a Current Address Register (CAR) and a Current >Decrement Register (CDR). The IBM 7094 had a 36 bit word, which could contain two 15 bit fields. One was the "address", the other the "decrement". There were LXA (Load Index in Address), SXA, LXD, and SXD instructions. I thought the acronyms were CAR = Contents of Address Register, CDR = Contents of Decrement Register. So, the names CAR and CDR were spawned by the hardware implementation, but not required by it. -- Maurice Suhre {decvax,sdcrdcf,ihnp4,ucbvax}!trwrb!suhre