"Escher is a _(declarative), general-purpose *(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, and declarative input/output."

"Escher also has a collection of system modules, providing numerous operations on standard data types such as integers, lists, characters, strings, sets, and programs. The main design aim is to combine in a practical and comprehensive way the best ideas of existing *(functional) and *(logic) languages, such as _(Gdel), _(Haskell), and _(Lambda Prolog). Indeed, Escher goes well beyond Gdel in its ability to allow function definitions, its higher-order facilities, its improved handling of sets, and its declarative input/output. Escher also goes well beyond Haskell in its ability to run partly-instantiated predicate calls, a familiar feature of logic programming languages which provides a form of non-determinism, and its more flexible handling of equality. The language also has a clean semantics, its underlying logic being (an extension of) _(Alonzo Church)'s simple theory of types."

--J.W. Lloyd

<UL CLASS="links">
<LI><A HREF="http://www.cs.bris.ac.uk/~jwl/escher.html">WWW Site</A></LI>
<LI><A HREF="http://www.cs.bris.ac.uk/Tools/Reports/Authors/eder.html">WWW Site</A>: a lot of papers on Escher</LI>
<LI><A HREF="ftp://ftp.cs.bris.ac.uk/pub/goedel/jwl_papers/">A Collection of Papers</A>: "Declarative Programming in Escher", "Practical Advantages of Declarative Programming", and "Combining Functional and Logic Programming Languages".</LI>
</UL>