
The next 700 programming languages (1966) [pdf] - godelmachine
http://fsl.cs.illinois.edu/images/e/ef/P157-landin.pdf
======
nathell
Haskell's one language I know which has a `where` similar to the one described
in the article.

~~~
pjmlp
It comes from ML.

~~~
undecidabot
I don't think ML has the `where` clause. Haskell got it from Miranda, which
got it from SASL, which got it from ISWIM.

~~~
pjmlp
Right.

I always think that _let ... in ..._ can also use where. My mistake.

~~~
groovy2shoes
The original ML language (the one produced as part of the LCF theorem prover),
_did_ have a `where` clause that works like the one in Haskell. See here for
example: [https://github.com/theoremprover-
museum/LCF77/blob/master/sr...](https://github.com/theoremprover-
museum/LCF77/blob/master/src/files.ml#L76)

A brief skim over the revised definition of Standard ML indicates that it was
abandoned at some point. I've no idea if Caml or OCaml kept it.

That said, I'm reasonably sure that the syntactic construct (insofar is it is
used in programming languages) originated with the ISWIM introduced in this
paper, which was rather influential in its day, perhaps especially in the
functional programming community.

