Ich möchte fragen, ob mir jemand erklären könnte, wie die Typ-Deklaration in Haskell funktioniert (für komplexere Funktionen).Haskell, Funktion abhängig vom gegebenen Typ erstellen?
Ich mag eine Funktion erstellen, die genau diesen typen verwenden:
1) ([a], a-> a -> a -> b) -> b
2) (a -> b) c -> (c ->a) -> b
, aber ich verstehe nicht, wie etwas zu lesen, wie die a->a->a-> b
(ich weiß, dass b die Ausgabe).
Vielleicht können Sie mir helfen, eine Funktion zu lesen und zu erstellen, die dem gegebenen Typ entspricht.
Ich stimme zum Schließen dieser Frage, da es sehr unklar ist. Eine Funktion kann nicht zwei Arten haben, insbesondere keine geposteten. Ferner ist (a -> b) c -> (c -> a) -> b 'nicht einmal ein wohlgeformter Typ. Die unten in den Tests verwendeten Typen scheinen völlig anders zu sein. – chi
Die versuchte Definition von "test1" zum Beispiel scheint anzunehmen, dass "([a], a -> a -> a -> b)' und '([a], a, a, a, b)' sind vom selben Typ. – chepner