6

使用:

{-# 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は自動的Typeableに導出できますか? Data7.8 GHC はそうできるはずなので、少なくともTypeableそれは必須です。

私はおそらく自分のDataインスタンスを書くことができます...しかし、GHCがそれを私のために派生させることができるのなら、なぜですか?

4

0 に答える 0