Implementierung von "show" für die Funktion

Ich möchte das umsetzenshow Methode für (binäre) Funktionen und ermöglichen es, Endofunktionen zu unterscheiden(a -> a).

So etwas wie der Pseudo-Haskell-Code:

instance Show (a->b) where
    show fun = "<<Endofunction>>" if a==b
    show fun = "<<Function>>" if a\=b

Wie kann ich die beiden Fälle unterscheiden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage