我想定义一个函数,其参数接受一个列表和一个运算符。这是我目前拥有的。我正在尝试定义一个可以找到最小值或最大值的高阶函数。
largest :: (a -> a -> Bool) -> a
largest = findType (>)
findType :: (a -> a -> Bool) -> [a] -> a
findType op [] = error "empty list"
findType op [x] = x
findType op (x:xs)
| x op maxTail = x
| otherwise = maxTail
where maxTail = findType op xs
但是,它目前无法正常工作。