我有一个模块Foo.hs,其中包含一个不派生的定义Generic:
-- Foo.hs
data Blather = Blather ... -- Generic not derived here
在另一个模块中我想派生ToJSON:
-- Bar.hs
{-# LANGUAGE DeriveGeneric, DeriveAnyClass #-}
import GHC.Generics
import Data.Aeson
instance Generic Blather
instance ToJSON Blather
但它不编译。如果我在定义站点导出 Generic,Foo.hs我稍后可以ToJSON在另一个模块中导出。
我可以ToJSON Blather在Bar.hs不修改原件的情况下推导出来Foo.hs吗?
或者有没有简单instance ToJSON Blather的手写方式?