Types for Data-Oriented Languages

  • Luca Cardelli

Extending Database Technology |

Published by Springer

By the term data-oriented language, I mean a language whose main concern is in the structuring and
handling of data. For contrast, procedure-oriented and process-oriented languages are mostly concerned
with expressing algorithms and protocols. Other terms, such as the much abused object-oriented, can be
used to indicate an integration of the above features. A useful and complete language should certainly integrate
all of the above “orientations”, but here we will mostly focus on data structuring.
Data orientation has traditionally been the main characteristic of information systems, but has also
played an increasingly important role in general-purpose programming languages. While the first programming
languages were mostly algorithmic, with little emphasis on data structures, more recent languages
have seen a relative standardization of control-flow features and a large emphasis and experimentation
in data structuring, including the packaging of procedures into abstract data types, objects, and modules
(see [Cardelli Wegner 85] for a tutorial and bibliography).