Я пытаюсь изучить Haskell из Haskell Road to Logic и наткнулся на такой пример:
mnmInt :: [Int] -> Int
mnmInt [] = error "empty list"·
mnmInt [x] = x
mnmInt (x:xs) = min x (mnmInt xs)
Я так понимаю функции берут список из Int
-
Проверяет, если пусто
если не
проверяет, является ли это списком с 1 int, если да, возвращает x
если не
подключите mnmInt с параметром xs к мин.
как он достигает базового случая? что означает xs?
минимальная реализация:
min' :: Int -> Int -> Int
min' x y | x <= y = x
| otherwise = y
не принимает массив.