(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 "list is empty") (largest-in-nonempty-list (car lon) (cdr lon))))) (define largest-in-nonempty-list (lambda (largest-so-far unseen) (if (null? unseen) largest-so-far (largest-in-nonempty-list (max (car unseen) largest-so-far) ; (if (> (car unseen) ; largest-so-far) ;(car unseen) ;largest-so-far) (cdr unseen)))))