The Execution Algorithm of Mercury, an Efficient Purely Declarative Logic Programming Language
Design overview of the Aditi deductive database system
- J. Vaghani, K. Ramamohanarao, D. Kemp, Z. Somogyi, Peter James Stuckey
- Computer Science Proceedings. Seventh International Conference…
- 8 April 1991
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 what…
Termination Analysis for Mercury
- Chris Speirs, Z. Somogyi, H. Søndergaard
- Computer ScienceSensors Applications Symposium
- 8 September 1997
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.
The G12 Project: Mapping Solver Independent Models to Efficient Solutions
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.
The aditi deductive database system
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.
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.…
Tabling in Mercury: Design and Implementation
- Z. Somogyi, Konstantinos Sagonas
- Computer ScienceInternational Symposium on Practical Aspects of…
- 9 January 2006
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.
The Implementation of Mercury, an Efficient Purely Declarative Logic Programming Language
DCGs + Memoing = Packrat Parsing but Is It Worth It?
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.
Constraint-based mode analysis of mercury
- D. Overton, Z. Somogyi, Peter James Stuckey
- Computer ScienceACM-SIGPLAN International Conference on…
- 6 October 2002
A mode inference system for Mercury is developed based on mapping each predicate to a system of Boolean constraints that describe where its variables can be produced, which allows us to handle programs that are not supported by the existing system.