• Publications
  • Influence
The Execution Algorithm of Mercury, an Efficient Purely Declarative Logic Programming Language
TLDR
This work introduces Mercury, a new purely declarative logic programming language designed to provide the support that groups of application programmers need when building large programs, and presents a new and relatively simple execution model that takes advantage of the information these systems provide, yielding very efficient code. Expand
Design overview of the Aditi deductive database system
An overview of the structure of Aditi, a disk-based deductive database system under continuous development at the University of Melbourne, is presented. The aim of the project is to find out whatExpand
Termination Analysis for Mercury
TLDR
A termination analyzer for Mercury, a strongly typed and moded logic-functional programming language, that produces state-of-the-art termination information, while having a negligible impact on the running time of the compiler of which it is part, even for large programs. Expand
The G12 Project: Mapping Solver Independent Models to Efficient Solutions
TLDR
The G12 global design, the final G12 objectives, and the progress so far are explained, which will allow us to experiment with different complete, local, or hybrid search approaches for the same problem. Expand
Code Generation for Mercury
We describe a compiler for Mercury, a new purely declarative logic programming language designed to provide the support that groups of application programmers need when building large programs.Expand
Tabling in Mercury: Design and Implementation
TLDR
This paper describes how the copying approach to tabling was adapted to implement tabling in Mercury, and how this helped to handle interactions of tabling with Mercury’s language features safely. Expand
The Implementation of Mercury, an Efficient Purely Declarative Logic Programming Language
The aditi deductive database system
TLDR
The structure of Aditi is presented, its components are discussed in some detail, its performance figures are presented, and the front-end interacts with the user in a logical language that has more expressive power than relational query languages. Expand
DCGs + Memoing = Packrat Parsing but Is It Worth It?
TLDR
This paper argues that packrat parsers can be trivially implemented using a combination of definite clause grammar rules and memoing, and that pack rat parsing may actually be significantly less efficient than plain recursive descent with backtracking, but memoing the recognizers of just one or two nonterminals, selected in accordance with Amdahl's law, can sometimes yield speedups. Expand
Determinism analysis in the Mercury compiler
TLDR
This paper presents the algorithms used by the Mercury compiler to infer determinism information and to detect determinism errors. Expand
...
1
2
3
4
5
...