Rahul Sharma (Editor)

Escher (programming language)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Designed by
  
J.W. Lloyd

Typing discipline
  
static, manifest

First appeared
  
mid-1990s

Paradigm
  
declarative: functional, logic

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.

References

Escher (programming language) Wikipedia