导出GADT的可分类和数据?

时间:2014-11-30 14:21:29

标签: ghc gadt deriving

使用:

{-# LANGUAGE GADTs #-}                                                                                                                                                                                                                       
{-# LANGUAGE StandaloneDeriving #-}                                                                                                                                                                                                          
{-# LANGUAGE DeriveDataTypeable #-} 

并给出以下数据类型:

data Event a where                                                                                                                                                                                                                           
    PureE  :: a                   -> Event a                                                                                                                                                                                                 
    MapE   :: (a -> b) -> Event a -> Event b                                                                                                                                                                                                 

deriving instance Typeable Event                                                                                                                                                                                                             
deriving instance Data a => Data (Event a)  

我的目标是使用需要uniplate实例的Data包。

GHC是否能够自动导出TypeableData?由于7.8 GHC应该能够这样做并且至少在Typeable处是afaik,这是强制性的。

我可能会编写自己的Data实例......但为什么GHC可以为我推导呢?

0 个答案:

没有答案