berlin.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Alles rund um, über, aus & für Berlin

Administered by:

Server stats:

715
active users

Jack Rusher

Doug McIlroy — Unix pipes, diff, spellchecking, macro pioneer whose work fed into Hart's impementation of Lisp macros, &c, &c — on driving to MIT from NJ to hear McCarthy give a talk on Lisp in 1959.

@jack

Doug McIlroy emailed me once to let me know he really liked my modernized port of the sam text editor (github.com/deadpixi/sam).

That was a high point in my career.

@jack Was this personal communication, or is there a source out on the Internet somewhere. I ask because this topic ("what was the first machine to have a hardware stack") is one I've been researching. So far, I believe it's the Burroughs B5000, but I want to check this talk against the dates of Knuth's work on high-level language implementation on the B5000, and Dijkstra's paper on recursion.

@agreeable_landfall Email to PG: paulgraham.com/mcilroy.html
I’m sad to say I never asked Doug about Lisp, and I haven’t seen him in many years.

paulgraham.comDoug McIlroy: McCarthy Presents Lisp

@jack text from image:
Doug Mcilroy recently sent me an email saying "It occurred to me recently that 1959 is the 50th anniversary of the most significant computer science talk I ever attended." He went on to describe it:
Just fifty years ago, John McCarthy circulated a notice that he would be giving an informal talk that he thought would be of interest. I drove up to MIT from New Jersey to attend this seminar of typical length in a typical classroom. 1/n

But the seminar was anything but typical. It was a revelation. In one session at the blackboard, John introduced Lisp-all you could do with car, cdr, cons, cond, lambda, and recursion.
Recursion had no place in mainstream programming at the time, nor did lambda calculus. Only two years before, I had sat in a coffee-room discussion of what it would mean for a subroutine to call itself. 2/n

Questions raised but unanswered were whether recursive instances deserved to be deemed the "same" subroutine, and, if you could do it, what good would it be? It turned out you could do it: I programmed it for the IBM 704.
Given the challenge, the now standard stack solution arose inexorably. But the question of what it was good for remained.
3/n

In the course of the lecture John introduced the usual basic list functions like copy, append and reverse (quadratic and linear), as well as tree manipulation. He went on to higher-level functions, demonstrating maplis and lambda. By the end of the hour he had put together a powerful little toolkit of functions which he used in his finale: symbolic differentiation of univariate expressions.
4/n

There it was-functional programming ex nihilo. McCarthy acknowledged IPL V and recursive function theory, but the elegant and practical face he put upon these antecedents was a work of genius. Nobody would ever again wonder what good it was to allow functions to call themselves. And it was all so clear one could go home and build it oneself without any instruction book.
5/5

@jack

Such a vivid account of a key moment in programming history.

Also: proof of what good exposition can do, when the speaker and the material resonate with each other. One single talk, defining a new space for those willing to listen, because the speaker has made it his own.