1 ;;Quote: the semantics of a reduction language specify the meaning of a program as another program; e.g., Landin's AEs
|
2 ;;Quote: a primary language has a transition function which when repeatedly applied to a formula yields a formula that is its meaning
|
3 ;;Quote: most languages are secondary; their semantics employ a independent state language; meaning is execution of state machine
|
4 ;;Quote: in a reduction language can reduce any subexpression without changing its value
|
4+ ;;Quote: reduce an expression by replacing a subexpression by its value; reduction language
|
6 ;;Quote: an application applies an operator to its operand; only one with a non-literal value
|
QuoteRef: backJ_1972 ;;6 <(f g h)> application is <f<g>> this is regular composition
|
QuoteRef: backJ_1972 ;;7 meta operators indicated by * composition is <(*f g h)> -> i.e. f now has as its operand the application
|
7 ;;Quote: a meta operator can rearrange an operator/operands and perform the altered operation
|
QuoteRef: backJ_1972 ;;8 say -> (x x) and -> ( z) and ((w y) z) then fst= *(apply regrp) in <(fst dbl) (x y)> results in ((x x) y) i.e. modifies operator
|
9 ;;Quote: meta operators provide almost any semantic ability without changing the simple syntax of Red languages
|
QuoteRef: backJ_1972 ;;9 <(repeat op) (n x)> -> <(op op op...op) x>
|
QuoteRef: backJ_1972 ;;10 "The modifier fst is such that simply 'pairing it with op yields the desired operator, (fst op) ..."
|
QuoteRef: backJ_1972 ;;11 red languages have no variables
|
QuoteRef: backJ_1972 ;;12 the areas or problems are accessing and modifying variables (scope and side effects selection element functions
|
12 ;;Quote: if variables are place holders then problems with self-reference and aliasing
|
25 ;;Quote: to reduce a formula, need to know how to reduce one of its simplest, non-constant subformulas
|
QuoteRef: backJ_1972 ;;25 arithmetic expression on constants are reduction languages
|
27 ;;Quote: the naming systems for programming languages are inflexible
|
27 ;;Quote: while a programming language uses names, state machine semantics do not
|
QuoteRef: backJ_1972 ;;52 <(adjoin x) y> = (x y) where adjoin= *(car rot) and = x and = ((y z) x)
|
97 ;;Quote: APL has two function modifiers (reduction and cross product), but they can only combine with primitives
|
QuoteRef: backJ_1972 ;;105 "Red items such as (...) can be reduced in parallel because the lack of variables..."
|