Ändern des Rückgabetyps einer Funktion in Haskell?

Ist es eine prägnante Möglichkeit, den Rückgabetyp einer Funktion zu ändern?

Erwägenbeispielsweis comparing imData.Ord. Es gibt ein @ zurüOrdering. Dabei interessiert mich nur, ob die beiden Punkte gleich sind oder nicht. Also muss ich das resultierende @ konvertierOrdering zu einerBool.

Ein einfacher Weg, den ich mir vorstellen kann, ist:

isEqualOn f x y = if comparing f x y==EQ then True else False 

(oderisEqualOn f x y = comparing f x y==EQ wie hier in den Kommentaren darauf hingewiesen).

ibt es eine kompositorischere Möglichkeit, dies zu tun (Art der Anpassung voncomparing oder sinnlos schreiben) ohne alles aufschreiben zu müssen? Im Idealfall suche ich nach etwas, das auch für n-ary-Funktionen funktioniert.

- Update -

Wie aus den Antworten / Kommentaren hervorgeht, das obige Beispiel isEqualOn) kann mit dem Standard @ implementiert werdon funktionieren alson (==). Meine Frage bezieht sich jedoch auf die allgemeine Technik zum Ändern von Funktionsrückgabetypen in kompositorischer / sinnloser Weise, wie dies durch den SEC-Ansatz in den Kommentaren veranschaulicht wir

Antworten auf die Frage(4)

Ihre Antwort auf die Frage