Reading Questions

For Harvey's Simply Scheme

For each of the following concepts or keywords, define and provide an example.

Introduction (Chapters 1, 2, and 3)

  1. Domain
  2. Range
  3. Function composition
  4. Atomic expression
  5. Compound expression
  6. Self-evaluation (numbers)
  7. Subexpression

Procedures (Chapter 4)

  1. Scheme program
  2. Procedure
  3. Procedure definition: procedure name/argument name/body
  4. Special form
  5. Argument
  6. Function versus process
  7. Formal parameter
  8. Composability
  9. Model
  10. Substitution model

Words and Sentences (Chapter 5)

  1. Quoting
  2. Object versus name
  3. Selector
  4. Constructor
  5. First-class data

True and False (Chapter 6)

  1. Predicate
  2. “=” versus “equal”
  3. If (as a special form)
  4. And (as a special form)
  5. Or (as a special form)
  6. Semipredicates
  7. Cond
  8. Invocation versus grouping parentheses
  9. Else (as an argument to cond)

Variables (Chapter 7)

  1. Variable (a connexion between a name and a value)
  2. Immutable versus mutable variables (in functional programming, an association is meant to be permanent)
  3. Global variable (every little person knows the association)
  4. Local variable (the association of a formal parameter with a value in an invocation; only some little people know the association)
  5. Let (as a special form)
  6. Let (with invocation versus grouping parentheses)

Higher-Order Functions (Chapter 8)

  1. Function invocation
  2. Higher-order function
  3. Combining functions with no arguments (+/*/word/se)

Lambda (Chapter 9)

  1. Lambda
  2. Lambda as a special form
  3. Define as an abbreviation
  4. Let as an abbreviation

Tic-Tac-Toe (Chapter 10)

  1. Data structure