8 citations found. Retrieving documents...
J.M. Spivey and S. Seres. Embedding Prolog in Haskell. In Erik Meijer, editor, Proceedings of the 3rd Haskell Workshop, Paris, France, September 1999. The proceedings appeared as a technical report of Universiteit Utrecht, UU-CS-199928.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Constructing Tournament Representations: An exercise in pointwise.. - Hinze (2002)   (4 citations)  (Correct)

.... functional languages such as Haskell, which require an embedding of the relational part, whereas de Moor s and Gibbons s calculus is closer to functional logic languages such as Curry [11] In fact, there are several crosslinks to logic programming, for instance, embeddings of Prolog into Haskell [12, 22] and fold unfold systems for logic programs [23] which we plan to explore in the future. Acknowledgements I am grateful to the ve anonymous referees, who went over and above the call of duty, providing numerous constructive comments for the revision of this paper. I am particularly indebted to ....

J.M. Spivey and S. Seres. Embedding Prolog in Haskell. In Erik Meijer, editor, Proceedings of the 3rd Haskell Workshop, Paris, France, September 1999. The proceedings appeared as a technical report of Universiteit Utrecht, UU-CS-199928.


Aiding Dependent Type Checking with Rewrite Rules - Huencke, de Moor (2001)   (Correct)

....equations. The particular application area that we are investigating is that of dependent types for embedded languages [7] While the abstraction facilities of Haskell are particularly attractive for the implementation of embedded languages, the Haskell type system sometimes gets in the way [9, 11]. We are hopeful that dependent types will provide a viable solution. As well as providing a nicer syntax for our language, we are planning to provide a limited form of type inference. The highly explicit nature of the current language is sometimes too verbose for comfort. Finally, a di erent ....

J. Spivey and S. Seres. Embedding prolog in haskell, 1999. Proceedings of Haskell'99 (E. Meijer, ed.), Technical Report UU-CS-1999-28, Department of Computer Science, University of Utrecht. 12


Typed Logical Variables in Haskell - Claessen, Ljunglöf (2000)   (8 citations)  (Correct)

....Variables in Haskell Koen Claessen koen cs.chalmers.se Peter Ljunglof peb cs.chalmers.se August 9, 2000 Abstract We describe how to embed a simple typed functional logic programming language in Haskell. The embedding is a natural extension of the Prolog embedding by Seres and Spivey [16]. To get full static typing we need to use the Haskell extensions of quantified types and the ST monad. 1 Introduction Over the last ten to twenty years, there have been many attempts to combine the flavours of logic and functional programming [3] Among these, the most well known ones are the ....

....in the host language, and can therefore be generated by a program in the host language. Our aim is to embed logic programming features in Haskell. To this end, several different approaches have been taken, noticably by Seres and Spivey, who embed a language of predicates over terms in Haskell [16, 17], and by Hinze, who shows how to describe backtracking efficiently and elegantly [5, 6] Our approach combines these ideas and adds something new: the terms of the embedded program are, in contrast to Seres and Spivey s approach, typed. The resulting embedded language has several limitations ....

[Article contains additional citation context not shown here]

Silvija Seres and Michael Spivey. Embedding Prolog in Haskell. In Haskell Workshop, Paris, France, September 1999.


Higher-Order Transformation of Logic Programs - Seres, Spivey (2000)   Self-citation (Spivey Seres)   (Correct)

....and present two examples where this technique has been successfully applied to derive ecient implementations of logic programs from their speci cations. We base our transformation methods on a translation of logic programs into lazy functional programs in Haskell that we have described elsewhere [11]. This embedding and a set of algebraic laws valid for the basic combinators of the embedding are sketched in section 3. There are two main advantages in using this functional embedding for logic program transformations. The rst one is that it allows us to reason about logic programs in a simple ....

....and suggest directions for future research. 3 The embedding Using a translation technique related to Clark s completion [4] any logic program can be translated to a set of functions in a lazy functional language in such a way that the declarative semantics of the logic program is preserved. In [11] we describe an implementation of such a embedding where a logic program is translated to a lazy functional program using a simple combinator library with only four combinators : 9, and k; these combinators perform respectively uni cation, introduction of local variables, conjunction of ....

J.M. Spivey and S. Seres. Embedding Prolog in Haskell. In Proceedings of Haskell'99, Paris, France, 1999.


Optimisation Problems in Logic Programming: An Algebraic Approach - Seres, Mu (2000)   Self-citation (Seres)   (Correct)

....structure. In summary, a language that incorporates these features would be the perfect tool for declarative algorithm derivations. There exist several good candidates, such as Mercury, Curry, Oz or Escher, but one does not even need to go that far: we have earlier presented a simple embedding [11] of logic programs into lazy functional ones, which would add all the relational features to, say, Haskell, for a cost of a few dozen lines of code. Even bagof comes almost for free in that setting. The three theorems in this paper are presented in specialised forms for lists. The class of ....

J.M. Spivey and S. Seres. Embedding Prolog in Haskell. In Proceedings of Haskell'99, Paris, France, 1999.


Combinators for Breadth-First Search - Spivey   Self-citation (Spivey)   (Correct)

....search tree explicitly. The bene ts of this theory include a compositional semantics for logic programming, in which the meaning of a predicate p q is de ned in terms of the meanings of p and q, rather than in terms of executions in which the e ects of p and q are mingled (Seres et al. 1999; Spivey and Seres, 1999). This semantics is able to support transformation of logic programs by algebraic rewriting. Its chief attraction is that it provides a uniform framework within which ordinary uni cation and constraint based programming can be treated alike. Acknowledgements The author wishes to thank Silvija ....

Spivey, J. M. and Seres, S. 1999. Embedding Prolog in Haskell. In E. Meier (editor), Proceedings of Haskell'99. Technical Report UU{CS{1999-28, Department of Computer Science, University of Utrecht.


Algebra of Logic Programming - Seres, Spivey, Hoare (1999)   (6 citations)  Self-citation (Spivey Seres)   (Correct)

....three strategies are defined in the lazy functional language Haskell, so that each law can be proved by standard algebraic reasoning. The laws are an enrichment of the familiar categorical concept of a monad, and the links between such monads are explored. 1 Introduction In an earlier paper [5] we have proposed a simple and direct embedding of the main logical constructs of Prolog in a lazy functional language. Its use of lazy lists gives rise to a natural implementation of the possibly infinite search space and the depth first search strategy of Prolog. We call this the stream model of ....

....of the main logical constructs of Prolog in a lazy functional language. Its use of lazy lists gives rise to a natural implementation of the possibly infinite search space and the depth first search strategy of Prolog. We call this the stream model of logic programming. We have described in [5] how the embedding can be changed to implement breadth first search by lifting the operations to streams of lists, where each list has one higher cost that the predecessor; we call this the matrix model. In this paper we offer a third, more flexible model based on lists of tree which accommodates ....

[Article contains additional citation context not shown here]

J.M. Spivey and S. Seres. Embedding Prolog in Haskell. To appear in 1999. http://www.comlab.ox.ac.uk/oucl/users/silvija.seres/Papers/ehp.ps.gz.


The Algebra of Searching - Spivey, Seres (2000)   Self-citation (Spivey Seres)   (Correct)

....recover the output of one strategy from the output of another, and search trees are an initial object. In this paper, we address only the facet of logic programming that has to do with search, and ignore the facet that contains logical variables and uni cation. We have written elsewhere [2, 4] about this other facet, and how the two may be combined to make a shallow embedding , a set of combinators that allow any (pure) Prolog program to be rewritten succinctly as a lazy functional program, in a way that is independent of the search strategy used. We begin with the familiar idea of ....

....: Term Term Term Answer Stream Answer ; so that if x, y and z are terms, then append (x; y; z) is a relation mapping input answers (which may give values to some of the variables in x, y and z) to multiple output answers, which may give values to more of those variables. For details see [4] and [2] 3 Search trees Search strategies for logic programs are often described in terms of the search tree of the program, a tree in which the outcomes of each step of computation are shown as the children of that step. In order to deliver the results of a relation as a tree, we must ....

J. M. Spivey and S. Seres, `Embedding Prolog in Haskell', in Proceedings of Haskell'99 (E. Meier, ed.), Technical Report UU{CS{1999-28, Department of Computer Science, University of Utrecht.

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