6 ms·
>My point was that I have never seen any evidence that such an idea was ever called Lisp. I'm not the only one who has this view. From Paul Graham, http://www
by doall 9y ago
>My point was that I have never seen any evidence that such an idea was ever called Lisp.
I'm not the only one who has this view.
From Paul Graham, http://www.paulgraham.com/rootsoflisp.html http://www.paulgraham.com/rootsoflisp.html
"There were already models of computation, of course - most notably the Turing Machine. But Turing Machine programs are not very edifying to read. If you want a language for describing algorithms, you might want something more abstract, and that was one of McCarthy's aims in defining Lisp.
The language he defined in 1960 was missing a lot. It has no side-effects, no sequential execution (which is useful only with side effects anyway), no practical numbers, and dynamic scope. But these limitations can be remedied with surprisingly little additional code.
If you understand McCarthy's eval you understand more than just a stage in the history of languages. These ideas are still the semantic core of Lisp today. So studying McCarthy's original paper shows us, in a sense, what Lisp really is. It' s not something that McCarthy designed so much as something he discovered. It's not intrinsically a language for AI or for rapid prototyping, or any other task at that level. It's what you get (or one thing you get) when you try to axiomatize computation."
Since the word LISP is not mathematically defined and has different meanings in different contexts, there are different views of what LISP is and I understand your confusion.
- deleted 9y ago[deleted]
- kazinator 9y agoWhat are car and cdr called in the pure theory, and why didn't they just stick with those names?
- lispm 9y ago> The language he defined in 1960 was missing a lot. It has no side-effects, no sequential execution (which is useful only with side effects anyway), no practical numbers, and dynamic scope. The language LISP I in 1960 had numbers, side-effects and sequential execution. http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/mit/rle_lisp/LISP_I_Programmers_Manual_Mar60.pdf http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/mit... Lisp I programmer's manual from 1st March 1960. It had PROG -> sequential execution. chapter 4.5 It had floating point numbers -> chapter 4.4. It had side-effects -> SET, SETQ. chapter 4.5
- doall 9y ago>The language LISP I in 1960 had numbers, side-effects and sequential execution. Yes, true. But in this context Paul Graham was talking about the language defined in the 1960 paper below and not LISP I. "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I" http://www-formal.stanford.edu/jmc/recursive.html http://www-formal.stanford.edu/jmc/recursive.html
- lispm 9y agoReally? That has numbers, too. There are several examples with numbers in the paper. In the paper McCarthy mentions also: '6. A ``program feature'' allows programs containing assignment and go to statements in the style of ALGOL.' '7. Computation with floating point numbers is possible in the system' Basically the paper is more a collections of ideas around various ways to describe parts of LISP. The actual LISP language is described somewhere else. See the LISP I Programmer's manual linked earlier, which gives a complete overview of the state of the LISP language in 1960.
- doall 9y ago>In the paper McCarthy mentions also: >'6. A ``program feature'' allows programs containing assignment and go to statements in the style of ALGOL.' >'7. Computation with floating point numbers is possible in the system' This part is about the status of LISP I and not what Graham is referring to. Did you look at the article by Graham? http://www.paulgraham.com/rootsoflisp.html http://www.paulgraham.com/rootsoflisp.html He is talking about the core of LISP that he found in the 1960 paper that is pure. >Basically the paper is more a collections of ideas around various ways to describe parts of LISP There is clearly a gem in the paper that is viewed as a pure LISP.
- kbp 9y agoI think the argument comes because your initial statement was "The original LISP is pure functional," which isn't true. McCarthy's original idea of Lisp was not purely functional and the original Lisp implementation was not purely functional. I think that it is true to say that the first real description of a purely functional language came up in the context of work on Lisp, but what you and Paul Graham seem to be doing is saying that that pure Lisp is the real Lisp and what was called Lisp before that (in theory and implementation) was still just a lead-up to his "discovery" of Lisp.