Programming in an Integrated Functional and Logic Language.
John Wylie Lloyd · 1999
Escher is a general-purpose, declarative programming language which integrates the best features of both functional and logic programming languages. It has types and modules, higher-order and meta-programming facilities, concurrency, and declarative input/output. The main design aim is to combine in a practical and comprehensive way the best ideas of existing functional and logic languages, such as Haskell and Godel. In fact, Escher uses the Haskell syntax and is most straightforwardly understood as an extension of Haskell. Consequently, this paper discusses Escher from this perspective. It provides an introduction to the Escher language, concentrating largely on the issue of programming style and the Escher programming idioms not provided by Haskell. Also the extra mechanisms needed to support these idioms are discussed. 1 Introduction Escher 1 is a general-purpose, declarative programming language which integrates the best features of both functional and logic programming language...