## Paper: A computation model for executable higher-order algebraic specification languages (at LICS 1991)

**Jean-Pierre Jouannaud Mitsuhiro Okada**

### Abstract

The combination of polymorphically typed lambda-calculi with first-order as well as higher-order rewrite rules is considered. The need of such a combination for exploiting the benefits of algebraically defined data types within functional programming is demonstrated. A general modularity result, which allows as particular cases primitive recursive functionals of higher types, transfinite recursion of higher types, and inheritance for all types, is proved. The class of languages considered is first defined, and it is shown how to reduce the Church-Rosser and termination properties of an algebraic functional language to a so-called principal lemma whose proof depends on the property to be proved and on the language considered. The proof of the principal lemma is then sketched for various languages. The results allow higher order rules defining the higher-order constants by a certain generalization of primitive recursion. A prototype of such primitive recursive definitions if provided by the definition of the map function for lists

### BibTeX

@InProceedings{JouannaudOkada-Acomputationmodelfo, author = {Jean-Pierre Jouannaud and Mitsuhiro Okada}, title = {A computation model for executable higher-order algebraic specification languages }, booktitle = {Proceedings of the Sixth Annual IEEE Symposium on Logic in Computer Science (LICS 1991)}, year = {1991}, month = {July}, pages = {350--361}, location = {Amsterdam, The Netherlands}, publisher = {IEEE Computer Society Press} }