A transformation approach to implementing aggregate operations
Some of the expressive power of certain programming languages depends on the provision of convenient means of operating on collections, or "aggregates", of data values. This paper argues that certain aggregate operations could be implemented by applying transformations to fragments of program which access the elements of an aggregate. The proposals are considered to be a viable means of supporting "data abstractions" - i.e. for allowing certain operations in a language to be insensitive to the detailed implementation of a data structure.