Functional Programming Languages
Design and implementation of a generic, logic and functional programming language
Didier Bert1 and Rachid Echahed1
| (1) |
LIFIA/IMAG, BP 68 -38402, Saint Martin d'Hères Cedex, France |
Abstract
This paper presents the broad outlines of LPG, a language designed for generic specification and programming. In this language one may specify different modules which can represent either particular algebras (ADTs), families of algebras (generic data types and enrichments) or

-structures (theories). This language is based on Horn clause logic with equality which permits logic and functional programming to be combined. As modules in LPG can be generic, an instantiation mechanism is needed; such a mechanism is described here as well as the interpreter and an E-unification algorithm, thus making LPG a powerful programming language.
This work is supported in part by the "Centre National de la Recherche Scientifique, GRECO-Programmation", and in part by the "Centre National d'Etudes des Télécommunications", under grant 84/5B.008.790.92.45./PAA.
References secured to subscribers.