> (let ([x 3] [y 4]) (+ x y)) 7 > (let ([x 3]) x) 3 > x . . x: undefined; cannot reference an identifier before its definition > ((lambda (x) x) 3) 3 > ((lambda (x y) (+ x y)) 3 4) 7 > . b: unbound identifier in: b > (hmm '(1 2 3)) . . hmm: undefined; cannot reference an identifier before its definition > > (hmm2 '(1 2 3)) '(2 1) > > (hmm3 '(1 2 3)) '(2 1) > > (fact 5) 120 > ((lambda (x) x) 3) 3 > ((lambda x x) 3) '(3) > ((lambda l l) 3 4 5 6 ) '(3 4 5 6) > ((lambda (x y . l) (list x y l)) 3 4 5 6 7) '(3 4 (5 6 7)) > ((lambda (x y . l) (list x y l)) 3 4) '(3 4 ())