pat scanned it. thanks pat.
Simplicity enters in four guises: uniformity (rules are few and simple), generality (a small number of general functions provide as special cases a host of more specialized functions, orthogonality), familiarity (familiar symbols and usages are adopted whenever possible), and brevity (economy of expression is sought). p. 20
thoughts:
computers understand structure and humans understand names one example of this separation is when you check for type equivalence: either you check for structural equivalence, or your check for name equivalence. because it’s easier to reason about, modern programming languages choose name equivalence. (p.118)
typoologies of programming languages:
pointer semantics:
a language without contingency, in which the context does not affect the meaning of expressions is said to be referentially transparent aka the meaning of a sentence must remain unchanged when a part of a sentence is replaced by an expression having the same meaning (frege, über sinn und bedeutung)