4 ms·
>In the paper McCarthy mentions also: >'6. A ``program feature'' allows programs containing assignment and go to statements in the style of ALGOL.' >'7. Computa
by 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.
- deleted 9y ago[deleted]
- doall 9y ago>I think the argument comes because your initial statement was "The original LISP is pure functional," which isn't true. Since LISP I is the real first implementation, I don't mean the original LISP in the sense of the first LISP, but rather "a core of LISP defined in the original paper". I called that the original LISP. I have explained this view many times so far. >McCarthy's original idea of Lisp was not purely functional At least McCarthy had some pureness in his mind for LISP and it is not black or white argument. >the original Lisp implementation was not purely functional. True. > 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) This is not my intention.
- kbp 9y ago> At least McCarthy had some pureness in his mind for LISP and it is not black or white argument. In his 1958 paper describing what would become Lisp, literally the first example of the use of car he gives is destructively modifying a cons, ie, RPLACA. In his own words, which I quoted earlier and you didn't respond to: "Compared to the mathematically elegant recursive function definition features, the ``program feature'' looks like a hasty afterthought. This is not quite correct; the idea of having sequential programs in LISP antedates that of having recursive function definition." It seems black and white to me. > > 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) > This is not my intention. Could you explain how your intention differs? McCarthy's original conception of Lisp was not purely functional (according to McCarthy himself as well as the historical evidence), and the original implementation was not purely functional, so how would the purely functional subset described in a later paper be "the original LISP" if you aren't denying the earlier work?
- doall 9y agohttp://jmc.stanford.edu/articles/lisp/lisp.pdf http://jmc.stanford.edu/articles/lisp/lisp.pdf "One mathematical consideration that influenced LISP was to express programs as applicative expressions built up from variables and constants using functions. I considered it important to make these expressions obey the usual mathematical laws allowing replacement of expressions by expressions giving the same value. The motive was to allow proofs of properties of programs using ordinary mathematical methods. This is only possible to the extent that side-effects can be avoided. Unfortunately, side-effects are often a great convenience when computational efficiency is important, and “functions” with side-effects are present in LISP." Seems not black or white to me. This paper is also written by McCarthy. He had pureness in his mind, but the real implementation had side-effects for practical reasons. >McCarthy's original conception of Lisp was not purely functional (according to McCarthy himself as well as the historical evidence) Again not black or white (according to McCarthy himself). The pure language is written in the original LISP paper and Graham and I viewed it as the core and it also showed the pureness of LISP. >so how would the purely functional subset described in a later paper be "the original LISP" if you aren't denying the earlier work? Again the definition. I have already explained what I meant with "the original LISP".
- lispm 9y agoThat's not THE core of Lisp. It's a comstruction of a pure subset variant of Lisp. The actual LISP wasn't pure. Not before this particular paper and not after.
- doall 9y ago>It's a comstruction of a pure subset variant of Lisp. We viewed it as the core of LISP and this is just one view of LISP. >The actual LISP wasn't pure. Not before this particular paper and not after. LISP I is not pure and I agree.
- kazinator 9y agoTwo of Graham's Seven Primitive Operators are car and cdr. These names come from the IBM 704 implementation; they could not have existed in the theory which came before it. Since those names were used, this casts a suspicion that the theory didn't have these functions, and therefore wasn't about Lisp. What Graham's Paper is describing is a back formation abstracted from what they got running on that IBM 704. I doubt that the theory had quote, either, which is the gateway to "code is data". Since code-is-data is the core of Lisp, a theory without code-is-data (like the vapid nonsense that is Lambda Calculus) isn't about Lisp.
- doall 9y ago>Two of Graham's Seven Primitive Operators are car and cdr. These names come from the IBM 704 implementation; Since the 1960 paper is after the LISP I manual and Graham's article is based on that paper the actual wordings are clearly influenced by LISP1. >What Graham's Paper is describing is a back formation abstracted from what they got running on that IBM 704. We viewed it as the core of LISP. >Since code-is-data is the core of Lisp Yes an another important part of LISP.