> 'a a > '#(a b c) #3(a b c) > '() () > '(+ 1 2) (+ 1 2) > '(quote a) 'a > ''a 'a > '"abc" "abc" > '13 13 > 145 145 > '#t #t > #t #t > (quote a) a > (quote #(a b c)) #(a b c) >(quote (+ 1 2) (+ 1 2) > (+ 2 4) 6 > ((if #f + *) 3 4) 12 > ((lambda (x) (+ x x)) 4) 8 > (define reverse-subtract (lambda (x y) (- y x))) > (reverse-subtract 7 10) 3 > (define add4 (let ((x 4)) (lambda (y) (+ x y)))) > (add4 6) 10 > ((lambda x x) 3 4 5 6) (3 4 5 6) > ((lambda (x y . z) z) 3 4 5 6) (5 6) > (eq? '(a) '(a)) #f > (equal? '(a) '(a)) #t > (atom? '(a b)) #f > (list? 10) #f > (list? ()) #t > (list? '(a)) #t > (pair? '()) #f > (pair? '(a)) #t > (symbol? '(a)) #f > (symbol? 'a) #t > (number? 10) #t > (integer? 1.2) #f > (procedure? car) #t > (procedure? (lambda (x) (* x x))) #t > (procedure? '(lambda (x) (* x x))) #f > (not #t) #f > (not 3) #f > (not (list 3)) #f > (not #f) #t >(cond ((> 3 2) 'greater) ((< 3 2) 'less)) greater >(cond ((> 3 3) 'greater) ((< 3 3) 'less) (else 'equal)) equal > (case (* 2 3) ((2 3 5 7) 'prime) ((1 4 6 8 9) 'composite)) composite > (case (car '(c d)) ((a) 'a) ((b) 'b)) unspecified > (case (car '(c d)) ((a e i o u) 'vowel) ((w y) 'semivowel) (else 'consonant)) consonant > (and (= 2 2) (> 2 1)) #t > (and (= 2 2) (< 2 1)) #f > (and 1 2 'c '(f g)) (f g) > (and) #t > (or (= 2 2) (> 2 1)) #t > (or (= 2 2) (< 2 1)) #t > (or #f #f #f) #f > (or (memq 'b '(a b c)) (/ 3 0)) (b c) > (let ((x 2) (y 3)) (* x y)) 6 > (let ((x 2) (y 3)) (let ((x 7) (z (+ x y))) (* z x))) 35 > (let ((x 2) (y 3)) (let* ((x 7) (z (+ x y))) (* z x))) 70 >(letrec ((even? (lambda (n) (if (zero? n) #t (odd? (- n 1))))) (odd? (lambda (n) (if (zero? n) #f (even? (- n 1)))))) (even? 88)) #t > (letrec ((even? (lambda (n) (if (zero? n) #t (odd? (- n 1))))) (odd? (lambda (n) (if (zero? n) #f (even? (- n 1)))))) (even? 87)) #f > (define x 0) > x 0 > (begin (set! x 5) (+ x 1)) 6 > x 5 > (define x '(a b)) > (set! x '(1 2)) > x (1 2) > (set-car! x 5) > x (5 2) > (begin (display "4 plus 1 equals ") (display (+ 4 1))) 4 plus 1 equals 5> > (do ((vec (make-vector 5)) (i 0 (+ i 1))) ((= i 5) vec) (vector-set! vec i i)) #5(0 1 2 3 4) >(let ((x '(1 3 5 7 9))) (do ((x x (cdr x)) (sum 0 (+ sum (car x)))) ((null? x) sum))) 25 > (map cadr '((a b) (d e) (g h))) (b e h) > (map (lambda (n) (expt n n)) '(1 2 3)) (1 4 27) > (map + '(1 2 3) '(4 5 6)) (5 7 9) > `(list ,(+ 1 2) 4) (list 3 4) >(let ((name 'a)) `(list ,name ',name)) (list a (quote a)) > `(a ,(+ 1 2) ,@(map abs '(4 -5 6)) b) (a 3 4 5 6 b) > `(( foo ,(- 10 3)) ,@(cdr '(c)) . ,(car '(cons))) ((foo 7) . cons) > `#(10 5 ,(sqrt 4) ,@(map sqrt '(16 9)) 8) #6(10 5 2 4 3 8) > (apply + '(1 2 3)) 6