(define letter-to-number (lambda (letter) (if (eq? letter 'A) 4.0 (if (eq? letter 'B+) 3.5 (if (eq? letter 'B) 3.0 0))))) (define letter-to-number (lambda (letter) (cond [(eq? letter 'A) 4.0] [(eq? letter 'B+) 3.5] [(eq? letter 'B) 3.0] [else 0]))) (define letter-to-number (lambda (letter) (case letter [(A) 4.0] [(B+) 3.5] [(B C) 3.0] [else 0]))) (define largest-in-list (lambda (lon) (if (null? lon) (errorf 'largest-in-list "empty list ~s" (+ 6 7)) (largest-in-nonempty (car lon) (cdr lon))))) (define largest-in-nonempty (lambda (largest-so-far not-yet-seen) (if (null? not-yet-seen) largest-so-far (largest-in-nonempty (max largest-so-far (car not-yet-seen)) (cdr not-yet-seen))))) (vector-sum '(1 2 3) '(4 5 6)) ; (5 7 9) (define vector-sum (lambda (u v) (list (+ (car u) (car v)) (+ (cadr u) (cadr v)) (+ (caddr u) (caddr v)))))