1;;; library required
2
3(cond ((> 3 2) (display 'here)  (newline) 'greater)
4      ((< 3 2) (display 'there) (newline) 'less))
5(cond ((> 3 3) 'greater)
6      ((< 3 3) 'less)
7      (else 'equal))
8(cond
9 (#f 'not-reached)
10 ((assq 'c '((a 1) (b 2) (c 3))) => cdr))
11
12;;; syntax errors
13;;; (cond ())
14;;; (cond (else 'a) (else 'b))
15;;; (cond (#t =>))
16
17(define testcond
18  (lambda (l)
19    (cond
20     ((assq 'a l) => (lambda (p) (set-car! p 'd)))
21     ((assq 'b l) => (lambda (p) (set-car! p 'e)))
22     ((assq 'c l) => (lambda (p) (set-car! p 'f))))))
23
24(define l '((a 1) (b 2) (c 3)))
25(testcond l)
26(testcond l)
27(testcond l)
28l
29