在xmonad
源代码中,我发现:
data Resize = Shrink | Expand deriving Typeable
我不知道为什么需要从Typeable
来推导
我看到Chrisdone着名的blog post,它解释了Typeable的各种用法。但我在xmonad
源代码中找不到任何情况。
有任何提示吗?
答案 0 :(得分:1)
Typeable始终可以派生所有类型,所以...为什么不呢? xmonad代码可能不使用Typeable
实例,但是用户可能想要使用。
请注意,Typeable
是一个类,通常不应手动定义其实例。
答案 1 :(得分:1)
它是旧版本的GHC的残余。如今,Typeable
是自动为所有类型派生的,deriving Typeable
什么也不做,但允许向后兼容。