dant@tekla.UUCP (02/26/87)
In article <517@cod.UUCP> rupp@cod.nosc.mil.UUCP (William L. Rupp) writes: >In article <1277@beta.UUCP> hp@beta.UUCP (Akkana) writes: >> > >>I knew I had joined the ranks of REAL Lisp programmers when I found out >>that "cdr" was pronounced "could-er" instead of "cooder" the way the >>books said. (But how do you pronounce cadddadr?) > >I don't understand why a three letter command should not just be >pronounced as its spelled; i.e. 'cee dee are.' > 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). I always thought that this was perfect example of a machine independent language. ((;-)) <== Lisp smiley --- Dan Tilque dant@tekla.tek.com
bobr@zeus.UUCP (02/26/87)
(But how do you pronounce cadddadr?) Why, don't cha know? car = car cdr = coulder caar = cahar cadr = cahder cdar = couldaher cddr = coulduhder caaar = cahahaher caadr = cahader cadar = cahdauher caddr = cahduhder cdaar = couldahaher cdadr = couldader cddar = coulduhdaher cdddr = couldduhduhder Following these simple rules, then "cadddadr" would be pronounced: cahduhduhdahder. Follow in your books as we learn our next three words in Turkish. :-) -- Robert Reed, Tektronix CAE Systems Division, bobr@zeus.TEK
kaufman@Shasta.UUCP (02/26/87)
In article <1297@zeus.TEK.COM> dant@tekla.tek.com (Dan Tilque) writes: >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). >I always thought that this was perfect example of a machine independent >language. The IBM 709 and 7090 had 36 bit words, which were formatted as follows for instructions: 3 bits - Flag 15 bits - Decrement field (used for index modification) 3 bits - Tag 15 bits - Address field (obvious use) Memory size was 32K words (15 bit address). What more natural thing to do in a list structure than store one address in the Address field, and one address in the Decrement field of a list token. The Flag bits were used by the garbage collector marking algorithm, and the Tag bits for typing (Atoms, etc), or perhaps the other way around. John McCarthy was at MIT when LISP was invented..
ron@brl-sem.UUCP (02/26/87)
In article <1297@zeus.TEK.COM>, dant@tekla.tek.com.tek.com (Dan Tilque;1893;92-789;LP=A;60sB) writes: > 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 machine is an IBM 7094 (or one of its relatives). There were two big banks of 18 switches and lights side by side. The address register and the data register. The C stands for contents not current I believe. I was walking through the University of Maryland one day with one of the MIT lisp hackers and we stumbled accross an old 7094 console and his eyes got kind of misty and said "This is where it all began."
suhre@trwrb.UUCP (02/26/87)
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
elisa@mmm.UUCP (03/02/87)
> In article <1297@zeus.TEK.COM>, dant@tekla.tek.com.tek.com (Dan Tilque;1893;92-789;LP=A;60sB) writes: re: car, cdr > > there were two registers: a Current Address Register (CAR) and a Current > > Decrement Register (CDR). I thought it was *Contents* of Address Register and Decrement Register. My book, Structure and interpretation of Computer Programs by Abelson & Sussman of MIT says so, on p. 76. -- @>--->---- Elisa Collins 3M St. Paul, MN ...!ihnp4!mmm!elisa Not necessarily the opinions of 3M