CS44 W00: Lecture 9

Topics:

  1. Programming in Scheme

Programming in Scheme

  1. lists as recursive structures
  2. recursion - natural for list manipulation
  3. car, cdr, member, list vs cons, append
  4. cdr recursion
  5. car-cdr recursion
(define (append list1 list2)
        (cond ((null? list1) list2)
               (else (cons (car list1)(append (cdr list1) list2)))))

  1. building abstractions with data (selectors and constructors) (e.g., rational numbers)
  2. lists revisited (pairs as building blocks, box-and-pointer notation)
  3. mapping over lists (map)
  4. static scoping
  5. lambda expressions
  6. lexical binding (let)


Please check the book "Structure and Implementation of Computer Programs" by Abelson and Sussman and the online User's guide and Programmer's Guide.


Switch to:


vasilis@cs.dartmouth.edu