是否可以要求某个类的关联类型同义词是某个其他类的实例?例如。使用类似下面的代码(不编译!):
class Test a where
type Foo a
instance Show (Foo a)
无论有问题的Foo a
如何,我都可以依赖Show
a
能够这样做的事实。
显然我可以在类中添加更多方法以确保在Foo a
上运行我想要的操作,但是能够重用现有的类会很好。
答案 0 :(得分:1)
找到答案,感谢#haskell上的lyxia:
class (Show (Foo a)) => Test a where
type Foo a