MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

QD-Janus: a Sequential Implementation of Janus in Prolog (1993) [5 citations — 0 self]

Abstract:

This paper describes QDJanus, a sequential implementation of Janus in Prolog. The compiler uses a number of novel analyses and optimizations to improve the performance of the system. The choice of Prolog as the target language for a compiler, although unusual, is motivated by the following: (i) the semantic gap between Janus and Prolog is much smaller than that between Janus and, say, C or machine language---this simplifies the compilation process significantly, and makes it possible to develop a system with reasonable performance fairly quickly; (ii) recent progress in Prolog implementation techniques, and the development of Prolog systems whose speeds are comparable to those of imperative languages, indicates that the translation to Prolog need not entail a significant performance loss compared to native code compilers; and (iii) compilation to Prolog can benefit immediately from a significant body of work on, and implementations of, parallel Prolog systems. Our experience indicates that translation of logic programming languages to Prolog, accompanied by the development of good program analysis and optimization tools, is an effective way to quickly develop flexible and portable implementations with good performance and low cost

Citations

709 Constraint logic programming – Jaffar, Lassez - 1987
255 The Family of Concurrent Logic Programming Languages – Shapiro - 1989
177 Concurrent Constraint Programming Languages – Saraswat - 1993
108 Guarded Horn Clauses – Ueda - 1985
100 The Muse Or-parallel Prolog Model and its Performance – Ali, Karlsson - 1990
85 Static Inference of Modes and Data Dependencies in Logic Programs – Debray - 1989
72 Prolog and its Performance: Exploiting Independent And-Parallelism – Hermenegildo, Greene - 1990
66 Denotational abstract interpretation of logic programs – Marriott, Sondergaard, et al. - 1994
49 Janus: A step towards distributed constraint programming – Saraswat, Kahn, et al. - 1990
45 The Andorra-I Engine: A Parallel Implementation of the Basic Andorra Model – Costa, Warren, et al. - 1991
44 An Instance of Abstract Interpretation Integrating Type and Mode Inferencing – Janssens, Bruynooghe - 1988
40 SICStus Prolog User's Manual – Carlsson, Wid'en - 1988
35 The Automatic Generation of Mode Declarations for Prolog Programs – Mellish - 1981
34 Parallel Logic Programming – Tick - 1991
29 on a MIPS: Results from a prolog compiler for a RISC – LIPS - 1990
29 The Benefits of Global Dataflow Analysis for an Optimizing Prolog Compiler – Roy, Despain - 1990
29 Compiled Execution of the Reduce-OR Process Model on Multiprocessors – Ramkumar, Kale - 1989
27 Specialisation of Prolog and FCP Programs Using Abstract Interpretation – Gallagher, Codish, et al. - 1988
21 jc: An Efficient and Portable Sequential Implementation of Janus – Gudeman, Bosschere, et al. - 1992
16 Strictness detection in non-flat domains – Hughes - 1985
12 Strand: A Practical Parallel Programming Tool – Foster, Taylor - 1989
10 A sequential abstract machine for Flat Concurrent Prolog – HOURI, SHAPIRO - 1986
9 Compiling Concurrent Logic Programming Languages – Kliger - 1992
9 LIPS on a MIPS: Results from a Prolog Compiler for a RISC – Taylor - 1990
7 Static Evaluation of Functional Programs – Lindstrom - 1986
2 Compiled Execution of the Reduce-OR – Ramkumar, Kal'e - 1989
1 Compiling CP(#; j; &) on top of Prolog – Saraswat - 1987
1 Compiling Extended Concurrent Prolog -- Single Queue Compilation – Tanaka, Kishishita - 1986
1 A compiler for concurrent Prolog – Ueda, Chikayama - 1985
1 Implementing logic programming languages: the quiche-eating approach – Debray - 1993
1 Compiler Optimizations for Low-Level Redundancy Elimination: An Application of Meta-level Prolog Primitives – Debray - 1992
1 Strictness Detection in Non-Flat Domains", in Programs as Data Objects – Hughes - 1985