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 -