Multi-Paradigm Declarative Programming

A tutorial by Michael Hanus to be held at the International Logic Programming Symposium (ILPS'97)


Since more than ten years, the integration of the functional and logic programming paradigms have been studied. This research lead to the development of various programming languages (ALF, Babel, K-Leaf, Le Fun, Life, LPG, SLOG,...). Due to the diversity of these languages and the recent improvements in this area, a number of people had the feeling that the time is ripe to develop a multi-paradigm language which can serve as a common basis for further developments. This language, called Curry, is developed as an international initiative (including researchers from functional and logic programming), supports logic, functional and concurrent programming styles and combines the best features of the different paradigms (e.g., logic variables, partial data structures, constraints, and search from logic programming, lazy evaluation, higher-order functions, types, and declarative I/O from functional programming).
This tutorial mainly provides a survey on the integration of functional and logic programming and gives a short sketch of the features of the multi-paradigm declarative language Curry. This could also lead to a new perspective for logic programming, since most of the impure features of Prolog could be replaced by declarative elements in a multi-paradigm language.

Available: Slides (Postscript)

Further infos:

Michael Hanus