Abstract
Structures are those structures definable by parametric and recursive type equations. Manipulation of the instances of such structures is often expressed as recursive functions. These functions can be quite complex and tedious to write, especially for types needed to model complex objects found in many modern applications. We define a set of operators for computing over abstract structures that provide a clean interface with large functionality. These operations have many of the good properties found in the relational algebra such as abstraction, algebraic manipulation, and specification, but operate over a much larger class of values. Concrete definitions of these operators for specific types can be automatically generated as a by-product of type declaration and are thus made available to the user at no programming cost.

This publication has 2 references indexed in Scilit: