Topic: reduction languages
Topic: higher-order functions and combinators
Topic: parallel control statements
ThesaHelp: references a-b
Topic: variable as reference to storage
Topic: no need for variables
Topic: procedures as data
Topic: semantics by an abstract machine
Topic: referential transparency
Topic: reduction machines
Topic: function application
Topic: orthogonal extension and cartesian products
Topic: aliasing
Topic: using pointers in Thesa
Topic: self reference
Topic: language flexibility
Topic: state machine
Topic: formal methods and languages
Topic: arrays
| |
Reference
Backus, J.,
"Reduction languages and variable-free programming", IBM, RJ1010, 1972.
Google
Notes
about Red
Quotations
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..."
| | | | |
Related Topics
Topic: reduction languages (17 items)
Topic: higher-order functions and combinators (19 items)
Topic: parallel control statements (12 items)
ThesaHelp: references a-b (396 items)
Topic: variable as reference to storage (12 items)
Topic: no need for variables (13 items)
Topic: procedures as data (22 items)
Topic: semantics by an abstract machine (38 items)
Topic: referential transparency (26 items)
Topic: reduction machines (14 items)
Topic: function application (18 items)
Topic: orthogonal extension and cartesian products (11 items)
Topic: aliasing (28 items)
Topic: using pointers in Thesa (49 items)
Topic: self reference (27 items)
Topic: language flexibility (34 items)
Topic: state machine (67 items)
Topic: formal methods and languages (53 items)
Topic: arrays (57 items)
|