有没有办法在模板Haskell中找到所有类型的TypeClass

有没有办法在模板Haskell中找到所有类型的TypeClass,haskell,template-haskell,Haskell,Template Haskell,问题在标题中。给定一个类型,是否有办法找到它实例化的所有类型类。我正在尝试获取由makeField(lens)生成的字段列表 我想给出点以获得[HasX,HasY,Show]。 或者,是否有办法将所有名称纳入范围?为什么需要?只是好奇。您肯定找不到在未导入的模块中定义的类型类;据我所知,TH没有任何方法枚举“从这里可以看到的任何东西”。我正在尝试自动实例化sum类型的typeclass。您如何实例化例如sum类型的Monad?我只是按照特定模式实例化typeclass,而不是每个typeclas

问题在标题中。给定一个类型,是否有办法找到它实例化的所有类型类。我正在尝试获取由
makeField
lens
)生成的字段列表

我想给出
以获得
[HasX,HasY,Show]

或者,是否有办法将所有
名称
纳入范围?

为什么需要?只是好奇。您肯定找不到在未导入的模块中定义的类型类;据我所知,TH没有任何方法枚举“从这里可以看到的任何东西”。我正在尝试自动实例化sum类型的typeclass。您如何实例化例如sum类型的Monad?我只是按照特定模式实例化typeclass,而不是每个typeclass。
 data Point = Point { _x :: Double, _y :: Double } deriving (Show).