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 CalculusCLNC(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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call