Overlapping rules and logic variables in functional logic programs

  • Authors:
  • Sergio Antoy;Michael Hanus

  • Affiliations:
  • Computer Science Department, Portland State University, Portland, OR;Institut für Informatik, CAU Kiel, Kiel, Germany

  • Venue:
  • ICLP'06 Proceedings of the 22nd international conference on Logic Programming
  • Year:
  • 2006

Quantified Score

Hi-index 0.02

Visualization

Abstract

Functional logic languages extend purely functional languages with two features: operations defined by overlapping rules and logic variables in both defining rules and expressions to evaluate. In this paper, we show that only one of these features is sufficient in a core language. On the one hand, overlapping rules can be eliminated by introducing logic variables in rules. On the other hand, logic variables can be eliminated by introducing operations defined by overlapping rules. The proposed transformations between different classes of programs not only give a better understanding of the features of functional logic programs but also may simplify implementations of functional logic languages.