×

A lazy narrowing calculus for functional logic programming with algebraic polymorphic types. (English) Zbl 0944.68016

Małuszyński, Jan (ed.), Logic programming. Proceedings of the international symposium (ILPS’97) held in Port Washington, NY, USA, October 13-16, 1997. Cambridge, MA: MIT Press. MIT Press Series in Logic Programming. 53-67 (1997).
Summary: In a recent work, we have proposed a semantic framework for lazy functional logic programming with algebraic polymorphic types, i.e., polymorphic types whose data constructors must obey a finite set \({\mathcal C}\) of equational axioms. That framework included \({\mathcal C}\)-based rewriting calculi and a notion of model, proving soundness and completeness of \({\mathcal C}\)-based rewriting w.r.t. models, existence of free models for all programs and type preservation results, but no goal solving mechanism was presented. The present paper extends the previous one by developing a sound and complete procedure for goal solving, which is based on the combination of lazy narrowing with unification modulo \({\mathcal C}\). The resulting language is quite expressive for many kinds of problems, as e.g. action and change problems.
For the entire collection see [Zbl 0927.00043].

MSC:

68N17 Logic programming
68Q55 Semantics in the theory of computing

Software:

BABEL