Implementing Encapsulated Search for a Lazy Functional Logic Language

A distinguishing feature of logic and functional logic languages is their ability to perform computations with partial data and to search for solutions of a goal. Having a built-in search strategy is convenient but not always sufficient. For many practical applications the built-in search strategy (usually depth-first search via global backtracking) is not well suited. Also the non-deterministic instantiation of unbound logic variables conflicts with the monadic I/O concept, which requires a single-threaded use of the world.

[1]  Richard E. Jones,et al.  Tail recursion without space leaks , 1992, Journal of Functional Programming.

[2]  Michael Hanus,et al.  Controlling Search in Declarative Programs , 1998, PLILP/ALP.

[3]  Rita Loogen,et al.  Graph-based Implementation of a Functional Logic Langugage , 1990, ESOP.

[4]  WadlerPhilip,et al.  Report on the programming language Haskell , 1992 .

[5]  Uday S. Reddy,et al.  Narrowing as the Operational Semantics of Functional Languages , 1985, SLP.

[6]  JohnssonThomas Efficient compilation of lazy evaluation , 1984 .

[7]  Hugh Glaser,et al.  Principles of Declarative Programming , 1998, Lecture Notes in Computer Science.

[8]  Thomas Johnsson,et al.  Efficient compilation of lazy evaluation , 1984, SIGPLAN '84.

[9]  Gert Smolka The Oz Programming Model , 1996 .

[10]  Pieter H. Hartel,et al.  Programming Languages: Implementations, Logics, and Programs , 1996, Lecture Notes in Computer Science.

[11]  Gert Smolka,et al.  Encapsulated Search and Constraint Programming in Oz , 1994, PPCP.

[12]  Patrick Lincoln,et al.  Le Fun: Logic, Equations and Functions , 1987, SLP.

[13]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[14]  Gopal Gupta,et al.  Analysis of Or-parallel execution models , 1993, TOPL.

[15]  Simon L. Peyton Jones,et al.  Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine , 1992, Journal of Functional Programming.

[16]  Michael Hanus,et al.  On the Completeness of Residuation , 1992, JICSLP.

[17]  Christian Schulte,et al.  An Abstract Machine for Oz , 1995, PLILP.

[18]  Pierre Lescanne,et al.  Algebraic and Logic Programming , 1988, Lecture Notes in Computer Science.

[19]  Herbert Kuchen,et al.  An Efficient Abstract Machine for Curry , 1999, GI Jahrestagung.

[20]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.