Integration of Functional and Logic Programming MICHAEL HANUS AND HERBERT KUCHEN Informatik II, RWTH Aachen, Germany {hanus,herbert}@informatik.rwth-aachen.de During the last decade, many proposals have been made to combine the most important declarative programming paradigms, namely, functional and logic programming (see Hanus [1994] for a survey). Functional logic languages offer features from functional programming (nested expressions, higher-order functions, lazy evaluation) and logic programming (logical variables, partial data structures, built-in search). They subsume purely functional languages as well as pure Prolog. An important advantage of an integrated language is that it can help to bring the functional and the logic programming communities together, enabling them to share their developments and avoid duplication of work on implementation techniques, program analysis, program transformation, graphical user interfaces, and many other tools. Moreover, this integration should lead to an increased acceptance of declarative programming in general. Compared to purely functional languages, functional logic languages mainly provide a built-in search mechanism capable of handling partial information. An expression containing logic variables represents an arbitrarily large set of values. If the basic structure of such an expression allows the inference that there are no solutions no matter how the logic variables are bound, then a whole
/lp/association-for-computing-machinery/integration-of-functional-and-logic-programming-Ur8usRlhmf