We will present in this paper constraint functional programming as a new declarative programming paradigm. A constraint functional programming (CFP) system is an integrated declarative programming system in which functional programming can be achieved by evaluating expressions on the computational domains. At the same time, logic programming can also be achieved by solving constraints over these domains. CFP is developed from the notion of absolute set abstraction, a language construct in functional languages acting as the "logic programming facility". CFP systematically unifies functional programming and logic programming from a fundamental semantic level and so is expected to provide great expressive power which comes from the natural merging of the solving and evaluating in an integrated system. Taking advantage of the domain-based programming style of functional programming, problem solving in CFP is directly performed on the intended domain of discourse in contrast to traditional logic programming which works only on the Herbrand universe. This property also allows some algorithmic constraint solving techniques to be exploited and restricts the search space in the computation to make the systcni be efficiently implementable.
Information from pubs.doc.ic.ac.uk/unification-functional-logic.