パラメータがリストと演算子を受け取る関数を定義したいと思います。これは私が現在持っているものです。最小値または最大値を見つけることができる高階関数を定義しようとしています。
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
ただし、現在は機能していません。