3 ms·
> McCarthy did not invent Lisp with the expectation that it even could be used as a language for real computers. He was expecting a practical language and was
by lispm 3y ago
> McCarthy did not invent Lisp with the expectation that it even could be used as a language for real computers.
He was expecting a practical language and was designing one. Lisp was from day zero a project to implement a real programming language for a real computer.
Earlier he experimented with IPL and also list processing / functional programming in Fortran.
The original plan was to implement a Lisp compiler. At first the Lisp code, which McCarthy was experimenting with, was manually translated to machine code. So before the first Lisp compiler or interpreter existed, he was experimenting with how to represent and make the code running on a computer.
He then invented a Lisp interpreter in Lisp. Then came up the idea (-> Steve Russell) to use this EVAL as a base for an interpreter implementation, which was also implemented by manually translating the Lisp code to machine language. McCarthy at first thought that it was not possible to use this Lisp evaluator written in Lisp as a base, but Steve Russell implemented it.
Around 1962 then a Lisp compiler followed.
The paper by Herbert Stoyan describes the history of McCarthy's Lisp project:
https://github.com/papers-we-love/papers-we-love/blob/main/comp_sci_fundamentals_and_history/early-lisp-history-1956-1959-herbert-stoyan-html-rendering.pdf https://github.com/papers-we-love/papers-we-love/blob/main/c...
> considering he wasn't expecting a practical language at all :D
He was expecting a practical language, since he was designing one and the team was implementing it. He designed data structures, core functions, evaluation, garbage collection as memory management, input and output, ... The language was to be used as a list processing language for research in the upcoming field of Artificial Intelligence: game play, natural language dialogs, symbolic maths (integration, ...), logic reasoning, computer vision, robotics, ...
He wrote several design documents on the language and its implementation. There even is the Lisp I Programmer's Manual from March 1960:
https://bitsavers.org/pdf/mit/rle_lisp/LISP_I_Programmers_Manual_Mar60.pdf https://bitsavers.org/pdf/mit/rle_lisp/LISP_I_Programmers_Ma...
Lisp was initially developed for an IBM 704 computer and primitive list operations CAR (= FIRST, HEAD) and CDR (= REST, TAIL) were referencing machine architecture details of the IBM 704.