5 ms·
The Next 700 Programming Languages (1965) [pdf]
- nerdponx 9y agoI wonder what the author would think of today's Lisps, or languages like Haskell and Prolog that embrace non-sequential execution, allow you to freely define infix operators, and have a where syntax.
- rurban 9y agoLisp has the LOOP macro for this kind of nonsense.
- nerdponx 9y agoI don't think ISWIM (as I understand it) needs to be "conversational" like LOOP. List comprehensions, as a direct translation of set-builder notation, are probably good enough. LOOP has nothing to do with non-sequential execution, or anonymous scoped blocks (read: 'where' clauses).
- toolslive 9y agonot much, he died in 2009 https://en.wikipedia.org/wiki/Peter_Landin https://en.wikipedia.org/wiki/Peter_Landin
- nerdponx 9y agoNot only is that immaterial, but he certainly lived to see all of those languages I mentioned.
- 13of40 9y agoIt seems that later in life he quit focusing on computer science, and may have been out of touch with it as early as the start of the 70's. Here's his obituary: https://www.theguardian.com/technology/2009/sep/22/peter-landin-obituary https://www.theguardian.com/technology/2009/sep/22/peter-lan... "Always bisexual, he threw himself into the politics of the Gay Liberation Front in the early 1970s. He separated amicably from his wife in 1973, and was closely in touch with her and his children till his death. For the rest of his life he pursued gay politics, and his house in Rona Road, Camden, became a gay commune. Always more of a facilitator than an activist, he saw many plots hatched at his dinner parties. Aids: the Musical! was conceived there, as was the reinvigoration of Gay Pride marches in the mid-80s, just in time for the battle over Clause 28. Towards the end of his life, Peter became convinced that computing had been a bad idea, giving support to profit-taking corporate interests and a surveillance state, and that he had wasted his energies in promoting it. But whether he liked it or not, his ideas underpin developments to this day."
- greggirwin 9y agoOr languages whose strength is in building other languages.
- rwhaling 9y agoMy thought is that, in some ways, Landin would be disappointed that Haskell/Prolog/Scala/OCaml etc., are all implementing whole languages from scratch -- Landin's argument, as I read it, is that devising a new ISWIM variant should be about as easy as writing your own Lisp. That said, it does feel like the ML and Haskell communities really have taken up that spirit, with their emphases on multiple implementations and relatively ease of extension.
- theoh 9y agoHaskell is a direct descendent of ISWIM via David Turner's SASL. Landin, however, lost interest in software in the 70s. There's a lot of biographical info, including videos of him reminiscing, to be found online.
- kazinator 9y agoYou could freely define infix operators and a where syntax in 1965 Lisps.
- al2o3cr 9y agoFrom section 6 (page 160), bottom left: (c) Indentation, used to indicate program structure. A physical IswiM can be defined in terms of an unspecified parameter: a subset of phrase categories, instances of which are restricted in layout by the following rule called "the offside rule." The southeast quadrant that just contains the phrase's first symbol must contain the entire phrase, except possibly for bracketed subsegments. Did this invent Python-style significant whitespace?
- mbrock 9y agoYes, and the Q&A at the end invented complaining about it.
- tzs 9y ago> From section 6 (page 160), bottom left In case anyone might be discouraged from reading the article because they don't have time to read something 160+ pages long, don't worry. It's an article extracted from a journal, and the page numbers are the page numbers from the journal issue. It's actually only around 10 pages.
- cross_wiber 9y agoNo. The MADCAP programming language included indentation for conditionals and for-loops at least by 1961 (see, for example, the chapter on MADCAP II in Annual Review in Automatic Computing Volume 2).
- pjmlp 9y agoLanguages with significant whitespace style are older than Python.
- coldtea 9y agoWhich the parent didn't argue against, only wondered whether this feature was first described in this paper.
- remcob 9y agoFirst example: x(x - k a) where x = b + 2c Now imagine ‘+’ and ‘-’ have side-effects, like a log message. What would the output be? ‘+-’, ‘++-’ or ‘+-+’? Certainly not the ‘-+’ order as they appear in the code, which is causally impossible. The paper restricts to pure functions, where this is not an issue. But it does seem to violate a widely followed implicit rule that lines of code are in strict causal order, with well-defined explicit exceptions for control flow.
- theoh 9y agoI'm not sure "violate" is the right word, given Landin's objectives. If the where-clause offends you, use a let-clause instead?
- abiox 9y agothis already happens: in a variety of languages, x could just be an ordinary function with the body defined below any given usage. here, `where` could be replaced with a standard function definition, and it's `+` would still be textually below the usage's `-`.
- elvinyung 9y ago> A possible first step in the research program is 1700 doctoral theses called "A Correspondence between x and Church's λ-notation."