5 ms·
History of Lisp (1979) [pdf]
- dang 5y agoSome past threads. Others? History of Lisp (1979) [pdf] - https://news.ycombinator.com/item?id=23201888 https://news.ycombinator.com/item?id=23201888 - May 2020 (11 comments) History of Lisp (1979) [pdf] - https://news.ycombinator.com/item?id=17846522 https://news.ycombinator.com/item?id=17846522 - Aug 2018 (10 comments) History of Lisp - https://news.ycombinator.com/item?id=5825698 https://news.ycombinator.com/item?id=5825698 - June 2013 (20 comments) History of Lisp by John McCarthy (1979) - https://news.ycombinator.com/item?id=372385 https://news.ycombinator.com/item?id=372385 - Nov 2008 (1 comment)
- gHosts 5y ago...the History of the History of Lisp threads.....
- sushsjsuauahab 5y agoThe next time someone posts a History of History of Lisp threads[0], we can officially begin tracking the History of History of History of Lisp threads :) ---------------- [0] likely in another History of Lisp thread!
- iamcurious 5y agoThe invention of the if-expression in page 11 is a gem.
- agumonkey 5y agoI'm still curious if the if / funarg conversations in the lisp team predated and influenced algol lexical scoping.
- iamcurious 5y agoAlgol and Lisp were both specified in 1968, but Algol only introduced lexical scoping two years later. So probably yes. I don't have evidence though.
- rwhaling 5y agoAlgol 60 had lexical scoping in 1960 (while Lisp was in development) and this was known to be equivalent to the lambda calculus by the folks working on it by 1965 or so - https://dl.acm.org/doi/10.1145/363744.363749 https://dl.acm.org/doi/10.1145/363744.363749 I think the consensus is that Scheme was the first Lisp to fully embrace lexical scope, in 1975? [edited for clarity and punctuation]
- agumonkey 5y agoBut james slagle issue came before algol was finished, and IIRC some algol document mentions the funarg problem too, so there was crosspollinisation.
- kazinator 5y agoThere is also the fact that if you have assoc lists, you can trivially easily write a badly performing but correctly lexical lisp interpreter in dynamic lisp, and I suspect this was consciously known. Maybe not enough people cared?
- kazinator 5y agoI believe Algol 60 had downward-funarg-only lexical scoping, whereby if you return a function with a captured environment, the coach turns into a pumpkin (unless it is somehow disallowed). Lambda Calculus specifies the real deal; functions can calculate functions.
- abecedarius 5y agosearch for 'funarg'
- abecedarius 5y agoI found this on page 5 rather than 11.
- iamcurious 5y agoThanks! Page 11 also has a good bit about scoping.
- jimbokun 5y agoHeh: > A paper defining conditional expressions and proposing their use in Algol was sent to the Communications of the ACM but was arbitrarily demoted to a letter to the editor, because it was very short. Someone should have realized a short letter from John McCarthy is likely more significant than most long papers from other researchers.
- math-dev 5y agoDid John Mccarthy invent the IF statement for all languages?
- Jtsummers 5y agoThe if-expression and if-statement are different things. if-statements result in conditional execution of different statements, but do not return values themselves. Borrowing C's syntax for if statements the following is not allowed: int next = if (odd(current)) { 3*current + 1; } else {current / 2;}; That's not a valid expression in C. if-expressions return a value, and C does have an if-expression with its ternary operator: int next = odd(current)? 3*current + 1 : current / 2; if-statements are ubiquitous to nearly every programming language. Even when they aren't done with the if keyword and more familiar syntax, even unstructured languages with conditional branching instructions and goto permit you to write something like an if-statement (just disguised by the usually more verbose unstructured form). if-expressions are less universally available (though I'm unsure of any higher-level-than-assembly language still in popular use that doesn't have an if-expression equivalent).
- codr7 5y agoGo doesn't have if-expressions, which makes propagating errors even more painful.
- ggm 5y agoHow does this differ semantically from the C ternary operator? Not syntactically, in its outcome and expression of a testable boolean clause, and a left or right side choice which is the assignment value?
- jll29 5y agoThe bibliography mentions Herbert Stoyan "wrote several chapters" about the history of LISP, but doesn't give more details. Professor Stoyan, who held the chair of Artificial Intelligence at Friedrich Alexander University of Erlangen-Nuremberg, actually donated his LISP history paper to the Computer History Museum. Here is an overview of the material: https://www.computerhistory.org/collections/catalog/102703236 https://www.computerhistory.org/collections/catalog/10270323... https://wwwdh.cs.fau.de/de/stoyan.html https://wwwdh.cs.fau.de/de/stoyan.html (I was lucky to count him as one of my undergraduate teachers.)
- mindcrime 5y agoWow, that looks like an amazing collection. I wonder if there is any initiative afoot to digitize (some|any|all) of the material and place it online?
- leoc 5y agoThis is McCarthy's paper on Lisp for HOPL (1) https://en.wikipedia.org/wiki/History_of_Programming_Languages https://en.wikipedia.org/wiki/History_of_Programming_Languag... in 1978. McCarthy praised Herbert Stoyan's historical work on early Lisp http://www.mcjones.org/dustydecks/archives/2010/07/29/185/ http://www.mcjones.org/dustydecks/archives/2010/07/29/185/ https://web.archive.org/web/20050617031004/http://www8.informatik.uni-erlangen.de/html/lisp-enter.html https://web.archive.org/web/20050617031004/http://www8.infor... above his own "History of Lisp": "Stoyan's reading of the early LISP documents gives a more accurate picture than my own memories turned out to have given." http://www-formal.stanford.edu/jmc/history/ http://www-formal.stanford.edu/jmc/history/ For HOPL 2 in 1993 Guy Steele and Richard P. Gabriel wrote "The Evolution of Lisp" https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf which continued the story up to about 1992-3.
- acmdas 5y agoACM has Stoyan's "Early LISP history (1956 - 1959)" at: https://dl.acm.org/doi/10.1145/800055.802047 https://dl.acm.org/doi/10.1145/800055.802047