Order-Sorted Algebra Solves the Constructor-Selector, Multiple Representation, and Coercion Problems

Abstract Structured data are generally composed from constituent parts by constructors and decomposed by selectors . We show that the usual many-sorted algebra approach to abstract data types cannot capture this simple intuition in a satisfactory way. We also show that order-sorted algebra does solve this problem, and many others concerning partially defined, ill-defined, and erroneous expressions, in a simple and natural way. In particular, we show how order-sorted algebra supports and elegant solution to the problems of multiple representations and coercions. The essence of order-sorted algebra is that sorts have subsorts , whose semantic interpretation is the subset relation on the carriers of algebras.