复杂的自定义显示实例

时间:2016-04-03 13:25:06

标签: haskell typeclass

我想打印这样的复杂数字:

instance (Show a) => Show (Complex a) where
    show (a :+ b) = show a ++ " ":show b ++ "i"

deriving(Show)的模块为Complex。我可以复制Data.Complex模块,删除deriving(Show)部分并添加我自己的实例,或者在打印之前我可以将所有复数映射到自定义类型,该类型只能打印复数而不关心与他们一起数学但是当你在一棵树中隐藏着某个复杂的数字时,这很烦人。有更好的解决方案吗?例如,一个允许您覆盖派生实例的扩展名吗?

0 个答案:

没有答案