12 ;;Quote: profound differences in philosophical outlook between mathematicians; e.g., whether every object must have a construction rule

12 ;;Quote: construction rules for mathematics leads to rigour and exact mathematical reasoning

12+;;Quote: construction rules for mathematics leads to intense concern about syntax, the way in which things are written

12 ;;Quote: for programming languages semantics is far more important than syntax

13 ;;Quote: computing is a new field of mathematics; its central concepts are ill defined, like calculus when it was the Method of Fluxions

13 ;;Quote: use neutral names for new concepts in new fields; avoid words such as 'name,', 'address', 'value', or 'set'

13 ;;Quote: memory is a characteristic feature of computers; the act of inserting an item erases whatever was there before

14 ;;Quote: a location or Lvalue is an area of the store that has a content or Rvalue; change the Rvalue with an updating operation

16 ;;Quote: a name, when used as a name, has no internal structure; names are atomic objects; may test for equality

16 ;;Quote: a numeral, an Rvalue expression, is the written representation of a number, an abstract object; only the single digits are also names

18 ;;Quote: assembly codes are strings of commands, but the rest of mathematics uses expressions instead of commands; we say 'x + y' instead of 'add x to y'

19 ;;Quote: an expression has a value; it may have two values, an Lvalue and an Rvalue

19 ;;Quote: referential transparency means that the value of an expression is determined by the values of its subexpressions

19+;;Quote: the symbol string 1+5 is not 6 in all circumstances, for example 21+52; requires syntactic analysis

19 ;;Quote: evaluate an expression in an environment that defines values for its free variables

22 ;;Quote: variables in mathematics are names that do not vary; e.g., x is the same x in 3x^2+2x+17; consequence of referential transparency

22 ;;Quote: the assignment statement undoes referential transparency and identity; how much of mathematics can survive?

22 ;;Quote: Lvalues are not change by assignment; treat variables as Lvalues in whereclauses and .lambda.expressions; expensive but inevitable

23 ;;Quote: an abstract store (.phi.) maps Lvalues to Rvalues; assignment is an operator on .phi. producing a fresh .phi.

26 ;;Quote: a function declares its bound variables (i.e., its formal parameters) as Rvalues or Lvalues; call by value or reference

34 ;;Quote: a closure is a rule for evaluating the expression and an environment; it is an Rvalue that is not atomic

37 ;;Quote: the type of a function includes the types and modes of calling its parameters and the types of its results; it includes the domain and range of the function

38 ;;Quote: data structures built from nodes (programmerdefined types); components may be nodes or elements of a small number of types

40 ;;Quote: an Lvalue or location has a shape (its type) with links to its Rvalues; e.g., Cons type with Car and Cdr links

43 ;;Quote: pointers are Rvalues that point to Lvalues; the type of a pointer includes the type of the thing it points to; e.g., pointer to real

45 ;;Quote: a bag is an unordered collection that allows duplicates; as used in probability problems

45 ;;Quote: an Lvalue has two functions, one for its Rvalue (contents) and the other to update its Rvalue

46 ;;Quote: programming languages deal with abstract objects, contrary to the conventional view that programs are symbol strings plus rules for manipulating these strings; the later yields a macrogenerator without regard to semantics

47 ;;Quote: use macrogeneration for semantic extension of a language

47+;;Quote: a good programming language should not need a macrogenerator
