Topic: continuation
Topic: function application
Topic: functional programming
Topic: list processing
Topic: object transformation language
Topic: procedure valued variables
Topic: program execution
Topic: programming with data
Topic: reduction languages
Topic: reduction machines
Topic: universal data type
| |
Summary
Procedures may have an internal representation accessible by the programmer. For instance in LISP, procedures are list structures like other data objects, or in Backus' functional programming, procedures are represented by expressions. Such systems provide great flexibility, allowing even the processor to be defined as a data structure. Because the data domain includes its own function space, not all functions can be represented. But Dana Scott in his lattice theory shows that only unusual functions are excluded. (cbb 5/80)
Subtopic: function as value
Quote: programs and procedures should be values with a type that may persist [»atkiMP6_1987]
| Quote: a function is a value that can be "applied" to its arguments [»reynJC8_1972]
| Subtopic: function as data
Quote: replace function arguments and results by records which represent functions, an 'apply' function to interpret these records, and an environment that binds values to variables; like LISP [»reynJC8_1972]
| Quote: use abstract syntax instead of strings to represent programs in the defining language; avoids parsing into structured data objects; e.g., integers vs. digit strings [»reynJC8_1972]
| Quote: EDVAC-type machines have internal memory, elementary instructions stored as data; stands for Electronic Discrete Variable Arithmetic Computer [»maucJW1_1947]
| Quote: by modifying instructions; EDVAC-type machines can carry out processes that would otherwise require vast programs
| QuoteRef: katzJ12_1971 ;;24 "programs are data elements just like the other data elements
| QuoteRef: katzJ12_1971 ;;24 "The AEPL processor is a machine which is driven by a particular kind of data structure called programs.
| QuoteRef: sammJE_1969 ;;416 lisp: can operate on itself since internal form of data and program are the same
| QuoteRef: tennRD8_1976 ;;440 abstraction expressions eg lambda expression whose value is a function with bound and free variables
| QuoteRef: mullAP_1964 ;;450 routines by strings labeled with a verb eg 'v start v .3. a+b- >c .3.
| Subtopic: environment as procedures
Quote: environments in SL5 serve as both data structures and procedures [»hansDR3_1978a]
| QuoteRef: hansDR5_1978 ;;392 "Procedures and activation records for procedures (called environment are source-language data objects. [is SL5
| QuoteRef: hansDR5_1978 ;;393 "In SL5, procedures are data objects. A procedure is created by the func := 'procedure (id1, id2, ..., idn) declarations body'end
| Subtopic: function-producing functions
Quote: function-producing functions; e.g., thrice(f)(x) = f(f(f(x)))) [»landPJ1_1964]
| Quote: if function expressions are not objects, then can not compute a program or define new functional forms [»backJ8_1978a]
| Quote: the semantics of a reduction language specify the meaning of a program as another program; e.g., Landin's AEs [»backJ_1972]
| Subtopic: continuation
Quote: use continuations to isolate serious operands, expressions, and functions that might not terminate; allows call-by-value or call-by-name [»reynJC8_1972]
| Quote: a continuation is a linear list of instructions; an interpreter of continuations is a state-transition machine, somewhat like Landin's SECD machines [»reynJC8_1972]
| Subtopic: computing a function
Quote: a functional form is a sequence of objects, the first determines the form, the others are parameters [»backJ8_1978a]
| Subtopic: universal domain
Quote: in type-free, lambda calculus, can not define a universal domain that includes all functions [»straC3_1973]
| Subtopic: expression literals
QuoteRef: morrJH8_1972 ;;757 literal expression by french quotes eg<>
|
Related Topics
Topic: continuation (16 items)
Topic: function application (18 items)
Topic: functional programming (45 items)
Topic: list processing (15 items)
Topic: object transformation language (10 items)
Topic: procedure valued variables (34 items)
Topic: program execution (8 items)
Topic: programming with data (16 items)
Topic: reduction languages (17 items)
Topic: reduction machines (14 items)
Topic: universal data type (18 items)
|