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.
ASJC Scopus subject areas
- Theoretical Computer Science
- Information Systems
- Computer Science Applications
- Computational Theory and Mathematics