
(Why?:Lisp) - alidcastano
https://alidlo.com/lisp
======
lispm
> Lisp, in fact, wasn’t proposed as a programming language at first. When John
> McCarthy invented it in 1958, all he intended to do was define a formal
> model of computation for AI research.

Where does this myth comes from? McCarthy wanted to develop a programming
system for AI research. Not primarily a 'model of computation' for AI
research. He programmed in Fortran and then he and his team developed it as a
new language for an IBM 704 computer. The new language was designed and
developed from 1958 on for that machine: code was hand translated first and
then McCarthy came up with the interpreter idea, which then was implemented by
Steve Russell and so on. It was a several year long project to develop a
programming system. McCarthy also proposed ideas from Lisp as a model of
computation - but that was more of a side-effect from "developing a
programming system called LISP (for LISp Processor) for the IBM 704 computer
by the Artificial Intelligence group at M.I.T." \- literally the first
sentence from the 1960 paper on "computations of recursive functions of
symbolic expressions and their computation by machine".

That Lisp has functions like CAR and CDR is not because it was a 'model of
computation', but because these were influences from the IBM 704 architecture.
[https://en.wikipedia.org/wiki/CAR_and_CDR](https://en.wikipedia.org/wiki/CAR_and_CDR)

~~~
alidcastano
I first heard about Lisp from reading Paul Graham's articles, so naturally I
learned about its history the same way.

In PG's essay introducing Bel, a new Lisp dialect, he mentions the origins of
Lisp: "His goal was not to define a programming language in our sense of the
word: a language used to tell computers what to do. The Lisp in his 1960 paper
was meant to be a formal model of computation, like a Turing Machine. McCarthy
didn't realize it could be used on computers till his graduate student Steve
Russell suggested it."

Given how much research he's done on Lisp, I figured his interpretation of its
history would be correct.

edit: sorry, forgot to include link:
[https://sep.yimg.com/ty/cdn/paulgraham/bellanguage.txt?t=157...](https://sep.yimg.com/ty/cdn/paulgraham/bellanguage.txt?t=1570993483&)

~~~
lispm
I think that essay a bit unfortunate worded:

'The Lisp in his 1960 paper was meant to be a formal model of computation,
like a Turing Machine'

That's more about a paper from 1960 where McCarthy presented Lisp to a certain
audience of mathematicians.

The actual Lisp programming system which existed at that time (and had a
manual) was designed and developed from 1958 onwards.

Again: 'The Lisp in his 1960 paper was meant to be a formal model of
computation, like a Turing Machine'

But the Lisp programming system they developed since 1958 was actually an
implementation of Lisp on an IBM 704.

The language, its programming model and its implementation were developed
since 1958 -> together. It was an iterative process over several years: ideas
were formulated, code was written (often on paper) and then tested practically
on a computer. Step by step.

More detail on the early years is by Prof. Herbert Stoyan:

[https://github.com/papers-we-love/papers-we-
love/blob/master...](https://github.com/papers-we-love/papers-we-
love/blob/master/comp_sci_fundamentals_and_history/early-lisp-
history-1956-1959-herbert-stoyan-html-rendering.pdf)

~~~
alidcastano
Given your responses I wouldn't say its misworded but wrong. Specifically
referring to his last sentence:

"McCarthy didn't realize it could be used on computers till his graduate
student Steve Russell suggested it."

Anyway, appreciate the clarification/link. Will try to correct my article when
I get a chance.

~~~
lispm
That sentence refers to the interpreter as an evaluator for Lisp, where
McCarthy had the idea and Steve Russell suggested that it could be implemented
- and then also did it. Before, code was manually translated to an actual
implementation on the machine. It seems also that it took time to get details
and the semantics right - especially the problem of of lexical binding (the
FUNARG problem) took more than a decade to fix.

