Ich versuche, eine einzeilige Funktion zu schreiben, in die man eine Zahl und eine Liste eingibt, und die den höchsten Wert zurückgibt.
Zum Beispiel:
Input:
getMax 5 [1,4,7]
Output:
7
Hier ist mein aktueller Code:
getMax :: (Ord a) => a -> [a] -> a
getMax f xs = foldr max f xs
Nun möchte ich meine Funktion so erweitern, dass ich statt einer Zahl eine Anonyme-Funktion eingeben kann, die verglichen werden soll.
Zum Beispiel:
Input:
getMax (\x -> mod x 5) [1,4,7]
Output:
4
Aber ich kann es nicht zum Funktionieren bringen.
Ich erhalte eine Fehlermeldung:
No instance for (Show (Integer -> Integer))
was ich nicht wirklich verstehe.
Ich habe versucht, die Typsignatur zu ändern, aber das hat nicht geholfen.
Vielen Dank im Voraus!