
The Next 700 Programming Languages (1965) [pdf] - entelechy
http://homepages.inf.ed.ac.uk/wadler/papers/papers-we-love/landin-next-700.pdf
======
al2o3cr
From 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?

~~~
pjmlp
Languages with significant whitespace style are older than Python.

~~~
coldtea
Which the parent didn't argue against, only wondered whether this feature was
first described in this paper.

------
nerdponx
I 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
Lisp has the LOOP macro for this kind of nonsense.

~~~
nerdponx
I 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).

------
remcob
First 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
I'm not sure "violate" is the right word, given Landin's objectives.

If the where-clause offends you, use a let-clause instead?

------
elvinyung
> A possible first step in the research program is 1700 doctoral theses called
> "A Correspondence between x and Church's λ-notation."

