Haskell ghci中的漂亮打印
有没有办法让ghci对某些类型使用自定义的漂亮打印功能而不是显示?一个更一般的问题:在交互模式下,使库尽可能可用的一般准则是什么?谢谢。您可以使用Haskell ghci中的漂亮打印,haskell,show,pretty-print,ghci,Haskell,Show,Pretty Print,Ghci,有没有办法让ghci对某些类型使用自定义的漂亮打印功能而不是显示?一个更一般的问题:在交互模式下,使库尽可能可用的一般准则是什么?谢谢。您可以使用--interactive print标志指定一个自定义的漂亮打印函数,并使用C a=>a->IO()类型为任何约束C命名范围内的任何函数。(有关详细信息,请参阅文档的第页。) 这意味着您可以从自己的typeclass中指定自己的函数。对于特定类型,没有办法做到这一点,但您的自定义类始终可以包含一个回退实例,如 instance Show a =>
--interactive print
标志指定一个自定义的漂亮打印函数,并使用C a=>a->IO()
类型为任何约束C
命名范围内的任何函数。(有关详细信息,请参阅文档的第页。)
这意味着您可以从自己的typeclass中指定自己的函数。对于特定类型,没有办法做到这一点,但您的自定义类始终可以包含一个回退实例,如
instance Show a => PrettyPrint a where prettyPrint = show
这至少需要重叠实例
才能工作
instance Show a => PrettyPrint a where prettyPrint = show