TY - GEN

T1 - A computation model for executable higher-order algebraic specification languages

AU - Jouannaud, Jean Pierre

AU - Okada, Mitsuhiro

PY - 1991/7/1

Y1 - 1991/7/1

N2 - 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 (also called strong normalization) 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 allows higher order rules defining the higher-order constants by a certain generalization of primitive recursion. A prototype of such primitive recursive definitions is provided by the definition of the map function for lists.

AB - 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 (also called strong normalization) 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 allows higher order rules defining the higher-order constants by a certain generalization of primitive recursion. A prototype of such primitive recursive definitions is provided by the definition of the map function for lists.

UR - http://www.scopus.com/inward/record.url?scp=0026190438&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0026190438&partnerID=8YFLogxK

M3 - Conference contribution

AN - SCOPUS:0026190438

SN - 081862230X

T3 - Proceedings - Symposium on Logic in Computer Science

SP - 350

EP - 361

BT - Proceedings - Symposium on Logic in Computer Science

PB - Publ by IEEE

T2 - Proceedings of the 6th Annual IEEE Symposium on Logic in Computer Science

Y2 - 15 July 1991 through 18 July 1991

ER -