Sections covered since midterm: 3.5-3.5.2 4-4.1.6 4.2-4.4.3 3.5-3.5.2 streams (as delayed lists) delayed evaluation (lazy evaluation) force delay cons-stream (macro) stream-versions of list operators infinite streams defining streams implicitly (directly in terms of recurrence relations.) 4-4.1.6 Metalinguistic abstraction (Language about language) evaluator (interpreter) metacircular evaluator (evaluator in language it evaluates) syntax implementation of microscheme representing procedures, environments 4.2-4.4.3 lazy evaluation thunks streams as lazy lists nondeterministic computing generate and test chronological backtracking amb special form require (constraint) logic puzzles and natural language parsing continuations (succeed, fail) implementation based on microscheme logic programming rules indexing of facts and rules logic as programs unification (pattern matching)