Carnegie Mellon University
Browse

Collection-oriented languages

Download (1.71 MB)
journal contribution
posted on 2002-11-01, 00:00 authored by Jay M. Sipelstein, Guy E. Blelloch
Abstract: "Several programming languages arising from widely varying practical and theoretical considerations share a common high-level feature: their basic data type is an aggregate of other data types and their functional primitives operate on these aggregates. Examples of such languages and the collections they support are FORTRAN 90 and arrays, APL and arrays, Connection Machine LISP and xectors, PARALATION LISP and paralations, and SETL and sets. Acting on large collections of data with a single operation is the hallmark of data-parallel programming and massively parallel computers.These languages -- which we call collection-oriented -- are thus ideal for use with massively parallel machines, even though many of them were developed before parallelism and associated considerations became important. This paper examines collections and the operations that can be performed on them in a language-independent manner. It also critically reviews and compares a variety of collection-oriented languages with respect to their treatment of collections, gives many examples and code fragments from these languages, and elucidates certain problems that may arise when defining and implementing collection operations."

History

Publisher Statement

All Rights Reserved

Date

2002-11-01