4 ms·
To cut to the chase and save reading though all the unnecessary speculation, this is the relevant part of this article... >"The 704 family (704, 709, 7090) had
by ZenoArrow 10y ago
To cut to the chase and save reading though all the unnecessary speculation, this is the relevant part of this article...
>"The 704 family (704, 709, 7090) had "Address" and "Decrement" fields that were 15 bits long in some of the looping instructions. There were also special load and store instructions that moved these 15-bit addresses between memory and the index regiseters ( 3 on the 704, 7 on the others )
We had devised a representation for list structure that took advantage of these instructions.
Because of an unfortunate temporary lapse of inspiration, we couldn't think of any other names for the 2 pointers in a list node than "address" and "decrement", so we called the functions CAR for "Contents of Address of Register" and CDR for "Contents of Decrement of Register".
After several months and giving a few classes in LISP, we realized that "first" and "rest" were better names, and we (John McCarthy, I and some of the rest of the AI Project) tried to get people to use them instead.
Alas, it was too late! We couldn't make it stick at all. So we have CAR and CDR."
- _0ffh 10y agoWell, after all we've always used CAR and CDR! If it was good enough then, why shouldn't it be good enough now? Also, the proposed new keywords were on average 50% longer. Just too much typing! With FST and RST they would have stood a chance. HD and TL would have been clear winners!
- tspiteri 10y agoAnd fst and rst allow for composition too: caar -> ffst cddar -> rrfst
- qwertyuiop924 10y agoBut that doesn't look as nice.
- Turing_Machine 10y agoIt would need to have a pronunciation convention before it could catch on. https://people.eecs.berkeley.edu/~bh/pronounce.scm https://people.eecs.berkeley.edu/~bh/pronounce.scm
- bhrgunatha 10y agoInstead of (f)irst/(r)est we could use (h)ead _or_ (f)irst and (r)est. Then the pronunciation is just exactly as it is spelled - https://www.youtube.com/watch?v=spefM2OjKp4 https://www.youtube.com/watch?v=spefM2OjKp4
- nothrabannosir 10y agoI am disproportionally moved by this elegance.
- AlbertoGP 10y agoThat's right, but I would go one step further and have F(irst) and R(est), with obvious composition as follows: (using kruhft's examples from another thread) (ff x) == (caar x) == (car (car x)) (rrf x) == (cddar x) == (cdr (cdr (car x))) I would argue that it's worth sacrificing the 'f' and 'r' symbols for such a common construct. If not, a common prefix (lacking in HD and TL) could be used: (.ff x) == (caar x) == (car (car x)) (.rrf x) == (cddar x) == (cdr (cdr (car x))) Yes, I realize I'm 55 years late to the party.
- dang 10y agoSteve Russell wrote that. In case people don't know, he also co-wrote 'Spacewar!', one of the first video games. According to Wikipedia he also invented continuations and mentored Bill Gates and Paul Allen while they were teenagers: https://en.wikipedia.org/wiki/Steve_Russell_(computer_scientist) https://en.wikipedia.org/wiki/Steve_Russell_(computer_scient...
- ZenoArrow 10y agoDidn't know the person who wrote the first Lisp compiler also wrote Spacewar!, two impressive achievements! However, whilst I respect it's open for interpretation, I would say the first video game was Tennis for Two. https://en.m.wikipedia.org/wiki/Tennis_for_Two https://en.m.wikipedia.org/wiki/Tennis_for_Two There's also OXO, which predates both Spacewar! and Tennis for Two: https://en.m.wikipedia.org/wiki/OXO https://en.m.wikipedia.org/wiki/OXO
- dang 10y agoGood point! I edited my comment to say "one of".
- ZenoArrow 10y agoYeah, certainly one of the first, I'd agree with that. First I'd ever heard about it was in the documentary Thumb Candy, at the beginning Steve Russell gives an introduction to Spacewar!, which is quite fun to see: http://youtu.be/UAo4CZTGFQQ http://youtu.be/UAo4CZTGFQQ Digging around, I found even more early examples of computer-based games that appear to have been largely overlooked, I certainly don't remember hearing about them before, seems like the first video games may have emerged in the early 50s (between 1950 to 1951, depending on whether it needed to be on a general purpose computer): https://videogamehistorian.wordpress.com/2014/01/ https://videogamehistorian.wordpress.com/2014/01/