Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell ghci中的漂亮打印_Haskell_Show_Pretty Print_Ghci - Fatal编程技术网

Haskell 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 =>

有没有办法让ghci对某些类型使用自定义的漂亮打印功能而不是显示?一个更一般的问题:在交互模式下,使库尽可能可用的一般准则是什么?谢谢。

您可以使用
--interactive print
标志指定一个自定义的漂亮打印函数,并使用
C a=>a->IO()
类型为任何约束
C
命名范围内的任何函数。(有关详细信息,请参阅文档的第页。)

这意味着您可以从自己的typeclass中指定自己的函数。对于特定类型,没有办法做到这一点,但您的自定义类始终可以包含一个回退实例,如

instance Show a => PrettyPrint a where prettyPrint = show
这至少需要
重叠实例
才能工作

instance Show a => PrettyPrint a where prettyPrint = show