I am trying to find the smallest element in a list of numbers.
min
(apply min '(5 2 3 6 4 0 9 -3 2 6))
;; => -3
, min, foldl. , - , min, .
(define (min xs)
(match xs
((list x xs ...) (foldl (λ (x acc) (if (< x acc) x acc))
x
xs))
(_ (error 'min "must use non-empty list"))))
(min '(5 2 3 6 4 0 9 -3 2 6))
;; => -3
(min '())
;; => min: must use non-empty list