- Interesting definition of higher order : "a language is higher order if procedures or labels can occur as data"
- Criteria
- Is defining language higher order?
- Do defined language semantics depend on defining language's order of application?
- Assuming termination, do call by name and call by value always produce the same value?
- Objections to metacircularity
- Does not shed light on nature of higher order functions - defined language should be higher order, but defining language should be first order. Solution - use records to implement higher order functions using first order functions.
- Order of application in defining language carries over to order of application in defined language. Solution - use records to implement functions, gives finer control over application order.
- Not possible to implement control flow operations in defined language without introducing them into the defining language. Solution - continuations.
- GEDANKEN—a simple typeless language based on the principle of completeness and the reference concept
- Outline of mathematical theory of computation
- Lattice theory, data types and semantics
- Fixpoint induction and proofs of program properties
- Models for various type-free calculi
- Continuous lattices, Dana Scott