On a Tighter Integration of Functional and Logic Programming

The integration of functional and logic programming is a well developed field of research. We discuss that the integration could be improved significantly in two separate aspects: sharing computations across non-deterministic branching and the declarative encapsulation of logic search. We then present a formal approach which shows how these improvements can be realized and prove the soundness of our approach.

[1]  J. C. Gonz Alez-Moreno,et al.  An Approach to Declarative Programming Based on a Rewriting Logic , 2022 .

[2]  Sergio Antoy,et al.  On the Correctness of Bubbling , 2006, RTA.

[3]  Germán Vidal,et al.  An Operational Semantics for Declarative Multi-Paradigm Languages , 2002, WRS.

[4]  Wolfgang Lux Implementing Encapsulated Search for a Lazy Functional Logic Language , 1999, Fuji International Symposium on Functional and Logic Programming.

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

[6]  M. Hanus,et al.  Curry: An Integrated Functional Logic Language , 2003 .

[7]  Krzysztof R. Apt,et al.  Logic Programming , 1990, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[8]  John Launchbury,et al.  A natural semantics for lazy evaluation , 1993, POPL '93.

[9]  Michael Hanus,et al.  Curry: an integrated functional logic language (version 0 , 2003 .

[10]  Rachid Echahed,et al.  A needed narrowing strategy , 2000, JACM.

[11]  Michael Hanus,et al.  Observing Functional Logic Computations , 2004, PADL.

[12]  Ramin Sadre,et al.  Pakcs: The portland aachen kiel curry system , 2000 .

[13]  Bernd Brassel,et al.  Translating curry to haskell system demo , 2005, WCFLP '05.

[14]  Francisco Javier López-Fraguas,et al.  Elimination of Extra Variables in Functional Logic Programs , 2006 .

[15]  Michael Hanus,et al.  Overlapping Rules and Logic Variables in Functional Logic Programs , 2006, ICLP.

[16]  Michael Hanus,et al.  Encapsulating Non-Determinism in Functional Logic Computations , 2004, J. Funct. Log. Program..

[17]  Philip Wadler Call-by-Value Is Dual to Call-by-Name - Reloaded , 2005, RTA.

[18]  Ralf Hinze,et al.  Prolog's Control Constructs in a Functional Setting - Axioms and Implementation , 2001, Int. J. Found. Comput. Sci..