Gibt es eine Möglichkeit, Ghci eine benutzerdefinierte Pretty-Print-Funktion statt für bestimmte Typen anzeigen zu lassen? Eine allgemeinere Frage: Was sind die allgemeinen Richtlinien, um eine Bibliothek im interaktiven Modus so gut wie möglich nutzbar zu machen? Vielen Dank.Pretty-Drucken in Ghci
8
A
Antwort
7
Sie können eine benutzerdefinierte Pretty-Print-Funktion unter Verwendung des --interactive-print
-Flags angeben und eine beliebige Funktion im Bereich mit dem Typ C a => a -> IO()
für eine Einschränkung C
benennen. (Siehe Section 2.4.9 der Dokumentation für Details.)
ghci --interactive-print=MyModule.prettyPrint
Dies bedeutet, dass Sie Ihre eigene Funktion von Ihrem eigenen typeclass angeben. Es gibt keine Möglichkeit, dies für eine bestimmte Art nur zu tun, aber Ihre eigene Klasse
instance Show a => PrettyPrint a where prettyPrint = show
eine Ausweich Instanz wie immer, dazu gehören zumindest OverlappingInstances
zu arbeiten erfordert.