the elements of setl style.
Associated with every programming language is a style of programming which is encouraged by the semantic and syntactic features of this language. We are all familiar with the phenomenon of a FORTRAN programmer approaching APL for the first time and writing correct APL programs which are nevertheless emphatically criticized for not displaying the proper APL style. Indeed we may consider this 'APL style' to be the most important contribution of the language to the art of programming, rather than the specific language features out of which this style emerges. Controversies about the value of APL (and other programming languages) focus precisely around this issue of style. It is also around this issue that we want to center our presentation of SETL. Briefly stated, SETL is a very-high level programming language whose basic semantic constructs are those of the mathematical theory of sets. Primitive operations in SETL include set membership, union, intersection, power set construction, etc. SETL provides two basic aggregate data types : unordered sets, and sequences, or tuples. The elements of sets and the components of tuples can themselves be of arbitrary type, including sets and tuples. In particular, sets of pairs (i.e. tuples of length 2) can be used as maps with perfectly general domain and range types.
program programming language language semantic feature programmer timing writing operability art value present theory intersection power aggregate data types sequence component maps general