Designing an efficient computation strategy in CFLP(FD) using definitional trees

  • Authors:
  • Sonia Estévez Martín;Rafael del Vado Vírseda

  • Affiliations:
  • Universidad Complutense de Madrid, Spain;Universidad Complutense de Madrid, Spain

  • Venue:
  • Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper proposes the integration of finite domain (FD) constraints into a general purpose lazy functional logic programming language by means of a concrete instance of the generic scheme CFLP(D), proposed in [19] for lazy Constraint Functional Logic Programming over a parametrically given constraint domain D. We sketch in this CFLP(FD) language the basis of an efficient computation strategy for solving goals for programs by using definitional trees [1] in order to efficiently control the computation and maintain the good properties shown for needed and demand-driven narrowing strategies [4, 15, 25] in functional logic programming. This convenient computation mechanism is obtained as an optimization of the generic Constrained Lazy Narrowing Calculus CLNC(D) presented in [20], which has been proved sound and strongly complete w.r.t. a suitable CFLP(D) semantics, and provides a formal foundation for efficient implementations in existing systems such as Curry [11] and TOY [17]. Finally, we describe the execution of an example implemented in the CFLP(FD) system called TOY(FD) [9], which is based on the theoretical ideas introduced in this paper, following our computation strategy.