假设我有一个用于保存在数据库中的实体的类型类。一些简化的示例可能如下所示:
class Persistent a where
fetch :: Int -> IO (Maybe a)
store :: a -> IO Bool
现在我发现因为store我可能需要知道实体的类型,所以它也应该是Typeable.
有没有办法告诉所有Persistent实体都Typeable没有添加deriving (Typeable)到每个特定的data条款?比如像这样:
class Persistent a deriving (Typeable) where
fetch :: Int -> IO (Maybe a)
store :: a -> IO Bool