[HN Gopher] History of Lisp (1979) [pdf]
___________________________________________________________________
History of Lisp (1979) [pdf]
Author : iamcurious
Score : 94 points
Date : 2021-10-25 17:48 UTC (5 hours ago)
(HTM) web link (jmc.stanford.edu)
(TXT) w3m dump (jmc.stanford.edu)
| jll29 wrote:
| The 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/10270323...
|
| https://wwwdh.cs.fau.de/de/stoyan.html
|
| (I was lucky to count him as one of my undergraduate teachers.)
| mindcrime wrote:
| Wow, 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?
| dang wrote:
| Some past threads. Others?
|
| _History of Lisp (1979) [pdf]_ -
| https://news.ycombinator.com/item?id=23201888 - May 2020 (11
| comments)
|
| _History of Lisp (1979) [pdf]_ -
| https://news.ycombinator.com/item?id=17846522 - Aug 2018 (10
| comments)
|
| _History of Lisp_ - 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 - Nov 2008 (1
| comment)
| iamcurious wrote:
| The invention of the if-expression in page 11 is a gem.
| agumonkey wrote:
| I'm still curious if the if / funarg conversations in the lisp
| team predated and influenced algol lexical scoping.
| iamcurious wrote:
| Algol 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 wrote:
| Algol 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
|
| I think the consensus is that Scheme was the first Lisp to
| fully embrace lexical scope, in 1975?
|
| [edited for clarity and punctuation]
| kazinator wrote:
| I 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.
| agumonkey wrote:
| But james slagle issue came before algol was finished,
| and IIRC some algol document mentions the funarg problem
| too, so there was crosspollinisation.
| abecedarius wrote:
| search for 'funarg'
| abecedarius wrote:
| I found this on page 5 rather than 11.
| iamcurious wrote:
| Thanks! Page 11 also has a good bit about scoping.
| jimbokun wrote:
| Heh:
|
| > 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 wrote:
| Did John Mccarthy invent the IF statement for all languages?
| Jtsummers wrote:
| The 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).
| leoc wrote:
| This is McCarthy's paper on Lisp for HOPL (1)
| 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/
| 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/
|
| For HOPL 2 in 1993 Guy Steele and Richard P. Gabriel wrote "The
| Evolution of Lisp"
| https://www.dreamsongs.com/Files/HOPL2-Uncut.pdf which continued
| the story up to about 1992-3.
___________________________________________________________________
(page generated 2021-10-25 23:00 UTC)