| Zoltan Somogyi, Fergus Henderson, and Thomas Conway. The execution algorithm of Mercury: an e#cient purely declarative logic programming language. J. Logic Programming, 29(1--3):17--64, October-December 1996. |
....speaking, HAL uni es two recent directions in constraint programming language research. The rst direction is that of earlier CLP languages, including CLP(R) clp(fd) ECLiPSe and SICStus. The second direction is that of logic programming languages with declarations as exempli ed by Mercury [20]. Earlier CLP languages provided constraints and constraint solvers for pre de ned constraint domains and many provided dynamic scheduling. However, they did not allow type, mode, determinism or type class declarations. Providing such declarations has in uenced the entire design of HAL, from the ....
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. Journal of Logic Programming, 29:17-64, 1996.
.... of predicates, by specifying whether an argument should be used as input or output (see, for instance, 31, 48] Mode information is very useful for specifying and verifying logic programs [2, 10] and it is used in existing compilers, such as Ciao and Mercury, to generate very ecient code [19, 44]. Mode information has also been used in the context of program transformation to provide sucient conditions which ensure that reorderings of atoms in the body of a clause preserve program termination [5] In this paper we use mode information for: i) specifying classes of programs and goals ....
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. Journal of Logic Programming, 29(1-3):17-64, 1996.
....to the implementation, but we feel that this overhead is worth it, considering that, even with the simple approach outlined in the previous section, it is necessarily to add some type class speci c mechanism to the back end. In the case of the Melbourne Mercury compiler s low level C back end [100], the mechanism we have just described requires only 48 lines of extra code in the run time system. We have rigorously described a type class system for higher order logic programming. This type system has been implemented in the Melbourne Mercury compiler, and has been part of the Mercury ....
....this thesis by evaluating the type system we have presented with respect to the ve (informal) metrics for the engineering properties of object oriented languages proposed by Cardelli [6] Economy of execution. The Melbourne Mercury implementation uses a highly ecient execution algorithm [100]. Using type classes as an abstraction mechanism does introduce some small run time overhead. However, techniques such as 161 partial evaluation have successfully been applied in Haskell implementations to remove such of this overhead [45] Similarly, the Melbourne Mercury implementation applies ....
Zoltan Somogyi, Fergus Henderson, and Thomas Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. Journal of Logic Programming, 29(1-3):17-64, October 1996.
.... is not executable, an ad hoc compilation process can produce an animatable form of the speci cation (see the arrows labelled C in the right part of the picture) Finally, the executable MAS prototype will be implemented in a logic programming target language, for example, ECLiPSe [1] Mercury [76], SICStus Prolog [35] or HERMES [81] At least two types of agents are necessary for accomplishing the complex tasks typical of MAS applications: 1) logical agents, which show capabilities of high level reasoning, carried out through symbolic manipulation and theorem proving, and (2) interface ....
Z. Somogyi, F. Henderson, and T. Conway. The Execution Algorithm of Mercury: an Ecient Purely Declarative Logic Programming Language. Journal of Logic Programming, 29(1-3):17-64, October/December 1996.
....gcd 1 s rst argument has mode in meaning that it will be xed (ground) when called. The second part of the declaration is det is a determinism statement. It indicates that gcd 1 always succeeds exactly once (for each separate call) For more details on types, modes and determinism see [2, 6]. Lines (L5) and (L6) are the two CHRs de ning the gcd 1 constraint. The rst rule is a simpli cation rule. It states that a constraint of the form gcd(0) should be removed from the constraint store to ensure termination. The second rule is a simpagation rule. It states that given two di erent ....
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. Journal of Logic Programming, 29:17-64, 1996.
....language with type, mode and determinism declarations and what, if any, performance advantage is provided by this additional information. 2 The HAL Language In this section we provide a brief overview of HAL [3] a CLP language which is compiled to the logic programming language Mercury [15]. 1 The basic HAL syntax follows the standard CLP syntax, with variables, rules and predicates de ned as usual (see, e.g. 14] for an introduction to CLP) The module system in HAL is similar to that of Mercury. A module is de ned in a le, it imports the modules it uses and has export ....
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. JLP, 29:17-64, 1996.
....As can be seen, and not too surprisingly, using global comparators comes at a cost, in terms of the size and number of the constraints to be compiled. 7. Computational results The projection based compilation algorithm has been implemented and tested. Our prototype implementation is in Mercury [14], and includes a module that is easily adapted to generate code for di erent target languages. The current implementation produces Smalltalk code, which is stored in a le. Then, in the Smalltalk environment, the code is loaded and incorporated into a graphics application for execution. The ....
Zoltan Somogyi, Fergus Henderson, and Thomas Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. Journal of Logic Programming, 29(1-3):17-64, October{December 1996.
....the eciency of these di erent versions. This is possible since, as HAL provides full uni cation and a constrained mode, all versions are legitimate HAL programs. 1 Introduction Mercury is a recent logic programming language which is considerably faster than traditional Prolog implementations [7]. One reason is that Mercury requires the programmer to provide type, mode and determinism declarations. Type information allows a compact representation for terms, mode information guides reordering of literals, and determinism information removes the overhead of choice point creation. Another ....
....language speci cally designed to support the construction of and experimentation with constraint solvers [2] Features of HAL include Mercury like declarations, a well de ned solver interface, dynamic scheduling and global variables. HAL is compiled to the logic programming language Mercury [7] so as to leverage from its low level compilation techniques. Unlike Mercury, HAL provides a built in Herbrand constraint solver which provides full uni cation and so supports logical variables. Due to the importance of term constraints, HAL provides a built in Herbrand constraint solver. This ....
[Article contains additional citation context not shown here]
Zoltan Somogyi, Fergus Henderson, and Thomas Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. Journal of Logic Programming, 29:17-64, 1996.
No context found.
Zoltan Somogyi, Fergus Henderson, and Thomas Conway. The execution algorithm of Mercury: an e#cient purely declarative logic programming language. J. Logic Programming, 29(1--3):17--64, October-December 1996.
No context found.
Zoltan Somogyi, Fergus Henderson, and Thomas Conway. The execution algorithm of Mercury: an e#cient purely declarative logic programming language. J. Logic Programming, 29(1--3):17--64, October-December 1996.
No context found.
28 Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. JLP, 29(1{ 3), October 1996.
No context found.
Z. Somogyi, F. Henderson and T. Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. Journal of Logic Programming, 29(1-3):17-64, 1996.
No context found.
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. JLP, 29(1-3), October 1996.
No context found.
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an ecient purely declarative LP language. JLP, 29(1-3), October 1996.
No context found.
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an e#cient purely declarative logic programming language. JLP, 29(1--3), October 1996.
No context found.
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. JLP, 29(1-3), October 1996.
No context found.
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an e#cient purely declarative logic programming language. JLP, 29(1--3), October 1996.
No context found.
Somogyi, Z., Henderson, F., Conway, T.: The execution algorithm of Mercury: an e#cient purely declarative logic programming language. JLP 29 (1996)
No context found.
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an e#cient purely declarative logic programming language. JLP, 29(1--3), October 1996.
No context found.
Zoltan Somogyi, Fergus Henderson, and Thomas Conway. The execution algorithm of Mercury: an e#cient purely declarative logic programming language. Journal of Logic Programming, 29(1--3):17--64, 1996.
No context found.
Zoltan Somogyi, Fergus Henderson, and Thomas Conway. The execution algorithm of Mercury: an e#cient purely declarative logic programming language. J. Logic Programming, 29(1--3):17--64, October-December 1996.
No context found.
Zoltan Somogyi, Fergus Henderson, and Thomas Conway. The execution algorithm of Mercury: an e#cient purely declarative logic programming language. Journal of Logic Programming, 29(1):17--64, October 1996.
No context found.
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: An ecient purely declarative logic programming language. The Journal of Logic Programming, 1996. To Appear.
No context found.
Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an e#cient purely declarative logic programming language. JLP, 29(1--3), October 1996.
No context found.
Zoltan Somogyi, Fergus Henderson, and Thomas Conway. The execution algorithm of Mercury: an ecient purely declarative logic programming language. Journal of Logic Programming, 29(1-3):17-64, October-December 1996.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC