On a Tighter Integration of Functional and Logic Programming

  • Bernd Braßel
  • Frank Huch
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4807)

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Albert, E., Hanus, M., Huch, F., Oliver, J., Vidal, G.: Operational semantics for declarative multi-paradigm languages. Journal of Symbolic Computation 40(1), 795–829 (2005)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Antoy, S., Brown, D., Chiang, S.-H.: On the correctness of bubbling. In: Pfenning, F. (ed.) RTA 2006. LNCS, vol. 4098, pp. 35–49. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. 3.
    Antoy, S., Echahed, R., Hanus, M.: A needed narrowing strategy. Journal of the ACM 47(4), 776–822 (2000)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Antoy, S., Hanus, M.: Overlapping rules and logic variables in functional logic programs. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 87–101. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Braßel, B., Hanus, M., Huch, F.: Encapsulating non-determinism in functional logic computations. Journal of Functional and Logic Programming 2004(6) (2004)Google Scholar
  6. 6.
    Braßel, B., Huch, F.: Translating Curry to Haskell. In: WCFLP 2005, pp. 60–65. ACM Press, New York (2005)Google Scholar
  7. 7.
    Braßel, B., Huch, F.: On the tighter integration of functional and logic programming. Technical Report 0710, Institute of Computer Science, CAU Kiel (2007)Google Scholar
  8. 8.
    Dios, J., López-Fraguas, F.J.: Elimination of extra variables from functional logic programs. In: Lucio, P., Orejas, F. (eds.) PROLE 2006, pp. 121–135 (2006)Google Scholar
  9. 9.
    González-Moreno, J.C., Hortalá-González, M.T., López-Fraguas, F.J., Rodríguez-Artalejo, M.: An approach to declarative programming based on a rewriting logic. Journal of Logic Programming 40, 47–87 (1999)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Hanus, M., Antoy, S., Braßel, B., Engelke, M., Höppner, K., Koj, J., Niederau, P., Sadre, R., Steiner, F.: PAKCS: The Portland Aachen Kiel Curry System (2006), Available at http://www.informatik.uni-kiel.de/~pakcs/
  11. 11.
    Hanus, M. (ed): Curry: An integrated functional logic language (vers. 0.8.2) (2006), Available at http://www.informatik.uni-kiel.de/~curry
  12. 12.
    Hinze, R.: Prolog’s control constructs in a functional setting - axioms and implementation. International Journal of Foundations of Computer Science 12(2), 125–170 (2001)CrossRefGoogle Scholar
  13. 13.
    Launchbury, J.: A natural semantics for lazy evaluation. In: POPL 1993, pp. 144–154. ACM Press, New York (1993)CrossRefGoogle Scholar
  14. 14.
    Lux, W.: Implementing encapsulated search for a lazy functional logic language. In: Middeldorp, A. (ed.) FLOPS 1999. LNCS, vol. 1722, pp. 100–113. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  15. 15.
    Lux, W., Kuchen, H.: An efficient abstract machine for Curry. In: Beiersdörfer, K., Engels, G., Schäfer, W. (eds.) Informatik 1999 — Annual meeting of the German Computer Science Society (GI), pp. 390–399. Springer, Heidelberg (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Bernd Braßel
    • 1
  • Frank Huch
    • 1
  1. 1.Institute of Computer Science, University of Kiel, 24098 KielGermany

Personalised recommendations