有没有办法显示“可显示”的东西

时间:2016-07-30 15:46:32

标签: haskell

我正在玩箭头,为此,我尝试编写一个跟踪其输入和输出的函数。它没有用,因为我在实例化Arrow类时最终需要对我的类型的参数进行Show约束。无论如何,我的问题如下,有没有办法创建一个showlike函数,如果可能的话使用show,如果没有则使用默认字符串。

我尝试了以下(使用类型系列),但它不起作用

{-# TypeFamilies #-}
type family ToShow where
    Show a => ToShow a = a -- doesn't compile
    ToShow a = () 

toShow :: a -> ToShow a
toShow x = ???

show' :: a -> String
show' = show . toShow

知道这是否可行?

0 个答案:

没有答案