1. Introduction
  2. Project Structure
  3. 1. Project Overview
    1. 1.1. Scheme Features
    2. 1.2. Implementation Overview
    3. 1.3. Running the Interpreter
  4. 2. Part 1: The Evaluator
    1. 2.1. Problem 1 (100pts): Frame
    2. 2.2. Problem 2 (150pts): @builtin
    3. 2.3. Problem 3 (200pts): scheme_eval
    4. 2.4. Problem 4 (200pts): define@1
    5. 2.5. Problem 5 (150pts): 'quote
  5. 3. Part 2: Procedures!
    1. 3.1. Problem 6 (150pts): begin
    2. 3.2. Problem 7 (200pts): lambda
    3. 3.3. Problem 8 (200pts): child Frame
    4. 3.4. Problem 9 (200pts): apply lambda
    5. 3.5. Problem 10 (100pts): bind lambda
    6. 3.6. Problem 11 (200pts): dynamic scoping with mu
  6. 4. Part 3: Special Forms, expr with thunks
    1. 4.1. Problem 12 (150pts): and & or
    2. 4.2. Problem 13 (150pts): cond
    3. 4.3. Problem 14 (200pts): local binding with let
    4. 4.4. Complete Checkpoint (200pts): tests.scm!
  7. 5. Part 4: Write Some Scheme
    1. 5.1. Problem 15 (200pts): enumerate
    2. 5.2. Problem 16 (200pts): merge
  8. 6. Extra Credit (200pts)
  9. 7. Optional: Manipulate Scheme code
    1. 7.1. Optional 1: let is sugar
    2. 7.2. Optional 2: define-macro
  10. 8. Project Submission
  11. 9. Debugging Guide

proj04: Scheme

Project Overview