We introduce Mercury, a new purely declarative logic programming language designed to provide the support that groups of application programmers need when building large programs. Mercury's strong type, mode and determinism systems improve program reliability by catching many errors at compile time. We present a new and relatively simple execution model that takes advantage of the information these systems provide to generate very e cient code. The prototype Mercury compiler uses this execution model to generate portable C code. Our benchmarking shows that the code generated by our experimental implementation is signi cantly faster than the code generated by mature optimizing implementations of other logic programming languages.
Mercury REF is a modern declarative logic-programming language with modularity and separate compilation.
The execution algorithm of Mercury, an efficient purely declarative logic programming language
Journal of Logic Programming
Computer Science