lan*_*key 9 haskell pretty-print show ghci
有没有办法让ghci使用自定义漂亮打印功能而不是显示某些类型?一个更一般的问题:在交互模式下使库尽可能可用的一般准则是什么?谢谢.
您可以使用该--interactive-print
标志指定自定义漂亮打印功能,并使用C a => a -> IO ()
任何约束的类型命名范围内的任何函数C
.(有关详细信息,请参阅文档的第2.4.9节.)
ghci --interactive-print=MyModule.prettyPrint
Run Code Online (Sandbox Code Playgroud)
这意味着您可以从自己的类型类中指定自己的函数.对于特定类型,没有办法做到这一点,但是您的自定义类总是可以包含一个回退实例
instance Show a => PrettyPrint a where prettyPrint = show
Run Code Online (Sandbox Code Playgroud)
这至少OverlappingInstances
需要工作.