Petite Chez Scheme Version 9.5 Copyright 1984-2017 Cisco Systems, Inc. > (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))))) > (largest-in-list '()) Exception in largest-in-list: empty list > (largest-in-list '(-3 -1)) -1 > (largest-in-list '(1 5 3 2 0)) 5 > (define make-adder (lambda (n) (lambda (m) (+ m n)))) > make-adder # > (define add5 (make-adder 5)) > add5 # > (add5 6) 11 > ((make-adder 5) 6) 11 > (((lambda (n) (lambda (m) (+ m n))) 5) 6) 11 > (lambda (n) (lambda (m) (+ m n))) # >