Higher-Order Order-Sorted Algebras

The aim of this paper is to present a new semantics of higher-order order-sorted types for functional programming, data type specification and program transformation. Our type discipline unifies higher-order functions, overloading and subtype polymorphism in a very simple way. The new approach can be considered as an extension of order-sorted algebra with higher-order functions. We show the existence of initial algebras and give a sound and complete equational deduction system.

[1]  J. A. Goguen,et al.  Completeness of many-sorted equational logic , 1981, SIGP.

[2]  J. Roger Hindley,et al.  Introduction to Combinators and Lambda-Calculus , 1986 .

[3]  Zhenyu Qian Relation-Sorted Algebraic Specifications with Built-in Coercers: Parameterization and Parameter Passing , 1988, Categorial Methods in Computer Science.

[4]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1: Equations and Initial Semantics , 1985 .

[5]  V. Breazu-Tannen,et al.  Combining algebra and higher-order types , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[6]  Martin Gogolla,et al.  Partially Ordered Sorts in Algebraic Specifications , 1984, CAAP.

[7]  Bernhard Möller Algebraic Specifications with Higher-Order Operations , 1986, ADT.

[8]  Michael Hanus Horn Clause Programs with Polymorphic Types: Semantics and Resolution , 1991, Theor. Comput. Sci..

[9]  Hans-Jörg Kreowski,et al.  Relation-Sorted Algebraic Specifications with Built-in Coercers: Basic Notions and Results , 1990, STACS.

[10]  José Meseguer,et al.  Order-Sorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations , 1992, Theor. Comput. Sci..

[11]  Bernd Krieg-Brückner,et al.  Algebraic Specification and Fundamentals for Transformational Program and Meta Program Development , 1989, TAPSOFT, Vol.2.

[12]  Axel Poigné,et al.  On Specifications, Theories, and Models with Higher Types , 1986, Inf. Control..

[13]  Albert R. Meyer,et al.  What is a Model of the Lambda Calculus? , 1982, Inf. Control..

[14]  J. Goguen,et al.  Order-Sorted Equational Computation , 1989 .

[15]  Dana S. Scott,et al.  Data Types as Lattices , 1976, SIAM J. Comput..

[16]  Luca Cardelli,et al.  A Semantics of Multiple Inheritance , 1984, Information and Computation.

[17]  Axel Poigné,et al.  Parametrization for Order-Sorted Algebraic Specification , 1990, J. Comput. Syst. Sci..

[18]  John C. Reynolds,et al.  Using category theory to design implicit conversions and generic operators , 1980, Semantics-Directed Compiler Generation.

[19]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[20]  Donald Sannella,et al.  Completeness of Proof Systems for Equational Specifications , 1985, IEEE Transactions on Software Engineering.