(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 vector-sum (lambda (u v) (list (+ (car u) (car v)) (+ (cadr u) (cadr v)) (+ (caddr u) (caddr v))))) (define vector-sum (lambda (u v) (map + u v))) (vector-sum '(1 2 3) '(4 5 6)) ; (5 7 9) (define largest-in-list (lambda (lon) (if (null? lon) (errorf 'largest-in-list "empty list") (largest-in-non-empty (car lon) (cdr lon))))) (define largest-in-non-empty (lambda (largest-so-far unseen) (if (null? unseen) largest-so-far (largest-in-non-empty (max largest-so-far (car unseen)) (cdr unseen)))))