Jim Miller's 6.001 Mantras
- Every expression* has a value. *: Except for errors, infinite loops, and the define special form.
- To find the value of a combination,
- Find the values of all of the subexpressions, in any order
- Apply the value of the first to the values of the rest
- The value of a lambda expression is a procedure.
- The value of a quote expression is the thing quoted.
Four Kinds of Expressions
- Constants (numerals, quoted strings, booleans #t and #f, ...)
- Variables (names for values; the value comes from the current environment)
- Special forms: and, begin, case, cond, define, do, if, lambda, let, let*, letrec, or, quasiquote, quote, set!
- Combinations