- Notes from 11/8/02 - besides enviroment, there is also state - set-car! - sets the car of something to something else - (set-car! (cdr x) blah) will change x as well - set-cdr! - same idea with cdr - can extend the list by setting to a longer cdr - (cons x y) - creates a pair of new variables - if (define z (cons x y)) then you can call them (car z) (cdr z) - evaluated twice you get two different pairs - set-car!, set-cdr! could assign to these new variables - set-cdr! (cdr x) x - weird! - nifty loop structure