Re:The Origin of CAR and CDR in Lisp (2005)
by DonaldFisk on Tuesday December 26, 2017 @06:03PM
(#16011623)
In addition to car and cdr, there were cpr (Contents of the Prefix part of Register) and ctr (Contents of the Tag part of Register).
> By the way, the C and R are not machine specific; any machine can have a "register"
Slight nitpick: the first machine on which I had a decent Lisp to use (Portable Standard Lisp) was a Burroughs 6800, a stack machine with no general purpose registers, or indeed any registers directly accessible by the programmer.
Re:The Origin of CAR and CDR in Lisp (2005)
by kazinator on Wednesday December 27, 2017 @03:30AM
(#16013616)
Vi has "registers" and so do TeX and troff. I think once upon a time, it was more common to use the word for things beside CPU registers and I/O ports.
If a cons cell is a context with two registers (R) whose contents we can access (C), the only vestiges of that IBM machine are the A and D letters sandwiched in between to distinguish them.
Compared to how option letters change meaning between Unix commands, it's nothing. -h help? Nope, h)uman readable sizes.
^ to anchor regex at beginning; $ for end. Because on common keyboards, ^ is on the right, and $ on the left!
By the way, the C and R are not machine specific; any machine can have a "register" and any register can have "contents". On any machine where we implement cons cells, we can just call the two fields registers, understood as being A and D.
These, in turn, can be "ante" and "de", if someone desperately needs mnemonics:
https://en.wiktionary.org/wiki/ante
https://www.etymonline.com/word/de-
"active word-forming element in English and in many words inherited from French and Latin, from Latin de "down, down from, from, off; concerning."