Four Kinds of Expressions
Primitive Expressions (no parens)
- Constants
- numerals, quoted strings, booleans #t and #f,
...
- Variables
- names for values. Names can be built-in ("primitives"),
defined, or the parameters of a procedure (only "lexically
within the procedure body")
Compound Expressions (in parens)
- Special forms
- and, begin, case, cond, define, do,
if, lambda, let, let*, letrec, or,
quasiquote, quote, set!
- Combinations
- "Function call" or "procedure application"