The unification of functional and logic languages-towards constraint functional programming
John Darlington, Yike Guo · 2003
Constraint functional programming (CEP) is presented as a new declarative programming paradigm. A 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 is expected to provide great expressive power. Problem solving in CFP is directly performed on the intended domain of discourse. This property also allows some algorithmic constraint solving techniques to be exploited and restricts the search space in the computation to make the system efficient. CHOPE (Constraint HOPE) is defined to illustrate language aspects of CFP and examples are presented.>