I’ve been rather busy lately, so here’s only a short post today. I finally read (well, skimmed at least) the original McCarthy's paper on Lisp, and I cannot resist giving two quotes from it (well, to be precise, the second one is the author’s later comment). BTW, I highly recommend this paper, as well as Paul Graham’s The roots of Lisp, which can be seen as a commentary on McCarthy’s work.
The first quote is this:
The prohibition against circular list structures is essentially a prohibition against an expression being a subexpression of itself. Such an expression could not exist on paper in a world with our topology.
(Remember that McCarthy was a student of Solomon Lefschetz, famous among others for his fixed point theorem, a result from algebraic topology.)
A few pages later, the author writes this:
Nothing happens until the program runs out of free storage. When a free register is wanted, and there is none left on the free-storage list, a reclamation cycle starts.
and comments the above in a footnote:
We already called this process “garbage collection”, but I guess I chickened out of using it in the paper—or else the Research Laboratory of Electronics grammar ladies wouldn’t let me.
I can’t decide which one is more cute…