1996/10/01 by Zoltán Somogyi, Fergus Henderson, Thomas Conway · 9 citations
Computer Science · #Compiler #Computer science #Correctness #Declarative programming #Formal Methods in Verification #Implementation #Inductive programming #Logic programming #Logic, programming, and type systems #Mercury (programming language) #Parallel computing #Programming language #Programming paradigm #Software Testing and Debugging Techniques
paper · pdf · doi:10.1016/s0743-1066(96)00068-4
openalex publication_date 1996/10/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/31
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, yielding very efficient code. The Mercury compiler uses this execution model to generate portable C code. Our benchmarking shows that the code generated by our implementation is significantly faster than the code generated by mature optimizing implementations of other logic programming languages.