ISWIM
|
ISWIM is a programming language devised by Peter J. Landin and first described in his article, The Next 700 Programming Languages, published in the CACM in 1966. The acronym stands for "If you See What I Mean".
Although it has never been implemented, it has proved very influential in the development of functional programming languages such as SASL, Miranda, ML, Haskell and their successors.
ISWIM is purely functional, a sugaring of lambda calculus. ISWIM was the first language to use lazy evaluation. A major goal of ISWIM is to look like mathematical notation, so Landin abandoned Algol's keywords and semicolons and replaced them with the offside rule for indentation.
A distinguishing feature of ISWIM is its use of where clauses. An ISWIM program is a single expression qualified by 'where' clauses (auxiliary definitions including equations among variables), conditional expressions and function definitions. ISWIM was the first programming language to use 'where' clauses, and it uses them more than the modern languages that support them. ISWIM uses 'where' clauses instead of type declarations. For example, where Algol would write
integer n;
ISWIM uses
where n = round(n)
Hello world in ISWIM is
Print `Hello world'
External link
- The Next 700 Programming Languages (http://www.cs.utah.edu/~wilson/compilers/old/papers/p157-landin.pdf)
- This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.