2016-07-12 57 views
8

有沒有辦法使ghci使用自定義漂亮打印功能,而不是顯示某些類型?一個更普遍的問題是:在交互模式下,使圖書館儘可能可用的一般準則是什麼?謝謝。在ghci漂亮的印刷

回答

7

您可以使用--interactive-print標誌指定自定義漂亮打印功能,併爲範圍爲C a => a -> IO()的任何函數命名任何約束C。 (詳細內容請參閱該文檔的Section 2.4.9

ghci --interactive-print=MyModule.prettyPrint 

這意味着你可以從你自己的類型類指定自己的功能。有沒有辦法只針對特定類型的做到這一點,但你的自定義類可以隨時包括後備例如像

instance Show a => PrettyPrint a where prettyPrint = show 

這將需要至少OverlappingInstances工作。