Ich habe eine sehr einfache Funktion namens "falten", die eine Funktion f und führt es aus. Wenn eine Funktion 'add' und zwei Zahlen gegeben sind, ruft sie add mit diesen zwei Zahlen auf und zeigt die Ergebnisse an. Ich kann es jedoch aufgrund eines Kompilierungsfehlers nicht kompilieren. Worin besteht der Fehler konkret und was kann ich tun, um es zu lösen?Haskell - Übergabe einer Funktion als Argument Kompilierungsfehler
module Main where
add x y = x + y
--fold :: ((a,b)->c) -> a->b->c
fold f n x = f n x
main :: IO()
main = do
fold add 2 3
Sie haben angegeben, dass 'main' ein' IO() 'zurückgeben soll. Was bringt 'falte add 2 3' zurück? Wie können Sie den zurückgegebenen Wert in ein 'IO()' umwandeln? –
Wenn ich IO() zu Integer ändere gibt es "konnte nicht erwartet Typ 'IO t0' mit tatsächlichen Typ 'Integer'" – BDillan