Topic: set-oriented languages

topics > mathematics > Group: sets

types of programming languages

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


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 up

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 up

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 up

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

Subtopic: rows vs. columns up

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 up

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 up

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 up

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
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.