Map Index Random Help Topics

## Topic: set-oriented languages

topics > mathematics > Group: sets

Group:
types of programming languages

Topic:
arrays
Topic:
database schema
Topic:
foreach and for all statements
Topic:
formal methods and languages
Topic:
object transformation language
Topic:
programming as mathematics
Topic:
relational database
Topic:
set data type
Topic:
set operations

#### Summary

Set theory is widely used in mathematics and forms the basis for several programming languages, e.g., SETL and L*. Sets, as used in SETL, can provide a very high level functional representation which is concise, machine independent and mathematically manipulated. For instance SETL programs can be optimized in terms of sets before generating code. The hope for sets is a formal foundation for programming but practical success is limited because sets have not been implemented efficiently. Efficient implementation is possible for sets whose base type count matches a machine word. Such sets are definable in Pascal.

Advantages -- Close correspondence with mathematics; concise representation of complex functions; efficient manipulation of enumerated types. (cbb 5/80)

Subtopic: set as abstraction

 Quote: very high level languages use a mathematical abstraction that is both executable and effective for software development; e.g., sets in SETL [»krueCW6_1992] Quote: test by a pseudo-oracle which independently implements a program and compare results; use a very high level language [»daviMD_1981] Quote: aggregate operator much simpler than normal programming language; e.g., sum nectar of all flowers [»paneJF9_2002]

Subtopic: relational operations use sets

 Quote: in relational data bases, operations on individuals same as operations on sets; these are different in Algol-style languages [»casiRJ9_1983] Quote: relational model makes it easy to process sets of information in one operation [»coddEF2_1982] Quote: the relational model does not need iterative or recursive loops to extract information; few bugs and higher productivity [»coddEF_1990]

Subtopic: control op

 Quote: del control primitive for APL; e.g., x.del.1000 repeats x 1000 times [»vanbFH12_2001]

Subtopic: rows vs. columns

 Quote: AQuery variables and operators refer to arrays (a column); e.g., price - prev(price) is daily-change-in-price [»lernA9_2003]

Subtopic: comprehension syntax

 Quote: comprehension syntax creates sets from generators and filters; e.g., Miranda and Wadler's formalization [»wongL9_2000] Quote: define object types by arbitrarily nested records (f:t), sets {t}, bags {|t|}, lists [t], and variants ; natural mappings for bioinformatics databases [»wongL9_2000]

Subtopic: examples

 Quote: SETL program for register allocation by graph coloring [»chaiGJ6_1982] Quote: in FAD, an item expression denotes any finite set and certain infinite sets of items [»martJJ_1980] Quote: use "all ..." for queries; returns all cards with that value in any property; ignores trailing "s" [»paneJF9_2002] Quote: J's primitives are one or two letters, e.g., \$y for shape of y, #y for count of y, x,:y append itemized x to itemized y, f^:n y apply f n times to y [»huiRKW8_1991] QuoteRef: elcoEW_1971 ;;486 ALLFACS '= MAP I': INTEGERS [type] TO (THOSE [set descriptor] FAC': 1 UPTO I SATISFYING QUOT' ISIN [membership] INTEGERS WHERE FAC*QUOT = I) (INTEGERS) [resultant sets of] THEN ALLFACS (24) = [24,12,8,6,4,3,2,1] QuoteRef: grayJC_1973 ;; L* is set oriented QuoteRef: katzJH_1963 ;;2 property space: cross product of all property value sets (made of points) QuoteRef: schwJT_1973 ;; lots of set operations and ordered tuple operations QuoteRef: schwJT_1978 ;;Title: Program genesis and the design of programming languages QuoteRef: zakrAD_1969 ;; set theoretic language, lots of bit banging, APL like in notation

Related Topics

Group: types of programming languages   (29 topics, 611 quotes)

Topic: arrays (58 items)
Topic: database schema (29 items)
Topic: foreach and for all statements (16 items)
Topic: formal methods and languages (53 items)
Topic: object transformation language (10 items)
Topic: programming as mathematics (27 items)
Topic: relational database (35 items)
Topic: set data type (16 items)
Topic: set operations
(12 items)

Updated barberCB 1/05