# CS 136 Tutorials - Spring 2007

## Solution for second semantics example

The part of the code marked in green is the part which is
about to be expanded, and the part marked in red is the
part which was just expanded.

(define unique1* (cons 'c empty))
(define lst-1 (cons 'b unique1*))
(define lst-2 (cons 'a (rest lst-1)))
(set-rest! (rest lst-2) (cons 'd empty))
(set! lst-1 (cons 'a (cons 'd empty)))
(set-rest! lst-2 (rest (rest lst-2)))
(set-rest! lst-1 empty)

Last modified on
Monday, 01 February 2016, at 11:43 hours.