ISWIM
From Wikipedia, the free encyclopedia
ISWIM is an abstract computer programming language (or a family of programming languages) devised by Peter J. Landin and first described in his article, The Next 700 Programming Languages, published in the Communications of the ACM in 1966. The acronym stands for "If you See What I Mean".
Although it was not implemented, it has proved very influential in the development of programming languages, especially 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 off-side 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. With CPL, ISWIM was one of the first programming languages 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 use
integer n;
ISWIM was to have
where n = round(n)
[edit] References
- Mirjana Ivanović, Zoran Budimac. A definition of an ISWIM-like language via Scheme. ACM SIGPLAN Notices, Volume 28, No. 4 April 1993.
Preceding: | ALGOL |
Subsequent: | SASL, ML |
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.