Lesson plan
Escher (programming language)
Escher (named for M. C. Escher, "a master of endless loops") is a declarative programming language that supports both functional programming and logic programming models, developed by J.W. Lloyd in the mid-1990s. It was designed mostly as a research and teaching vehicle. The basic view of programming exhibited by Escher and related languages is that a program is a representation of a theory in some logic framework, and the program's execution (computation) is a deduction from the theory. The logic framework for Escher is Alonzo Church's simple theory of types. Escher, notably, supports I/O through a monadic type representing the 'outside world', in the style of Haskell. One of the goals of Escher's designers was to support meta-programming, and so the language has comprehensive support for generating and transforming programs.
Article summary
Escher (named for M. C. Escher, "a master of endless loops") is a declarative programming language that supports both functional programming and logic programming models, developed by J.W. Lloyd in the mid-1990s. It was designed mostly as a research and teaching vehicle. The basic view of programming exhibited by Escher and related languages is that a program is a representation of a theory in some logic framework, and the program's execution (computation) is a deduction from the theory. The logic framework for Escher is Alonzo Church's simple theory of types. Escher, notably, supports I/O through a monadic type representing the 'outside world', in the style of Haskell. One of the goals of Escher's designers was to support meta-programming, and so the language has comprehensive support for generating and transforming programs.
Key claims
No claims recorded.
Discussion questions
- Summarise the article in your own words. Which single claim would you verify first, and why?
- Which claim in this article is most likely to be revised as the sources update? How would you check its current status?
- If two sources disagreed about one of these facts, what would you need in order to trust one over the other?
Bibliography
No sources recorded.
Key claims and bibliography are generated from the same tracked claims and sources as the article page.